Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t在ASP.NET Webforms中运行异步任务_C#_Asp.net_.net_Asynchronous_Webforms - Fatal编程技术网

C# Can';t在ASP.NET Webforms中运行异步任务

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

我正在尝试在ASP.NET Webforms中创建异步任务。在研究了互联网上的各种来源后,我创建了以下内容:

Default.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");
        }
    }
}
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发送到客户端

异步与客户端的延迟更新无关