C# Can';t在ASP.NET Webforms中运行异步任务
我正在尝试在ASP.NET Webforms中创建异步任务。在研究了互联网上的各种来源后,我创建了以下内容: Default.aspx:C# Can';t在ASP.NET Webforms中运行异步任务,c#,asp.net,.net,asynchronous,webforms,C#,Asp.net,.net,Asynchronous,Webforms,我正在尝试在ASP.NET Webforms中创建异步任务。在研究了互联网上的各种来源后,我创建了以下内容: Default.aspx: namespace AsyncTestCs { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { RegisterAsync
namespace AsyncTestCs
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
RegisterAsyncTask(new PageAsyncTask(LoadSomeData));
}
public async Task LoadSomeData()
{
var downloadedString = await new WebClient().DownloadStringTaskAsync("http://localhost:59850/WebForm1.aspx");
Label1.Text = downloadedString;
}
}
}
namespace AsyncTestCs
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Thread.Sleep(5000);
Response.Write("something");
}
}
}
WebForm1.aspx:
namespace AsyncTestCs
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
RegisterAsyncTask(new PageAsyncTask(LoadSomeData));
}
public async Task LoadSomeData()
{
var downloadedString = await new WebClient().DownloadStringTaskAsync("http://localhost:59850/WebForm1.aspx");
Label1.Text = downloadedString;
}
}
}
namespace AsyncTestCs
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Thread.Sleep(5000);
Response.Write("something");
}
}
}
但它不能异步工作。此页面将在加载downloadedString后显示
我的错误在哪里?您的服务器代码未“附加”到客户端上的控件。ASP.NET生成HTML作为其处理的一部分,并将其发送给客户端。之后,与请求关联的所有ASP.NET对象都将消亡。HTTP是基于请求-响应的。没有永久的联系
这里要做的是等待5秒,然后配置标签文本,然后将带有该标签文本的HTML发送到客户端
异步与客户端的延迟更新无关