0

我阅读了很多关于该问题和教程的问题,但只有一个执行了,并且没有正常工作。我有一个功能可以从其他站点抓取信息,这是一项繁重的任务,所以当我将其放置到 Page_load 时,页面在 scrobble 脚本完成之前不会显示。我想用 ajax 或异步任务动态加载乱码信息。我发现并执行的唯一一件事是

 protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        PhoneBaseC pbc = new PhoneBaseC(text);

        PageAsyncTask asyncTask1 = new PageAsyncTask(pbc.OnBegin, pbc.OnEnd, pbc.OnTimeout, "Async1", true);
        Page.RegisterAsyncTask(asyncTask1);
        Page.ExecuteRegisteredAsyncTasks();

        text.InnerHtml = pbc.GetAsyncTaskProgress() + "<br />";
    }

但是当我按下按钮时,所有页面都被冻结,当任务完全完成时,我们会一起显示“开始”、“完成”等进度消息。

我需要并行工作 gui 和我的任务,也许是进程完成的进度条。很久以前我在 php 中使用 ajax,但我对 asp.net 很陌生。

PS对我来说很奇怪。如果我评论“Page.ExecuteRegisteredAsyncTasks();” 线任务仍在执行。

抱歉,如果已经回答了相同的问题,我没有找到简单的示例,并且由于很多我不明白的原因,我发现的那些没有编译给我。抱歉英语不好。

4

1 回答 1

1

您可以将工作卸载到 Signal R 集线器上,并在任务完成后更新客户端,请在此处查看 Nuget 中的 Signal R http://nuget.org/packages/SignalR。网上有很多关于如何实现长时间运行的任务和客户端更新的教程,只需在谷歌中输入信号器教程。

于 2012-08-26T14:26:18.577 回答