1

我想解决我得到的一个具体问题,所以这个问题更有可能是一个讨论。

基本上,有一个带有 WebForm1.aspx 的 asp.net 项目,上面有一个按钮。一旦客户按下按钮,就会启动一个线程,然后立即出现这样的 Response.Redirect:

protected void Button1_Click(object sender, EventArgs e)
{
    BL.Class1 cd = new BL.Class1();
    cd.Run(); // or cd.AsyncRun();
    Response.Redirect("~/WebForm2.aspx",true);
}

当然,一切都应该是非静态的。业务逻辑类看起来像这样:

 public class Class1
 {
    public int Signal = 0;
    // non blocking Run... the webserver continues with this process running backwards
    public void RunAsync()
    {
        Signal = 0;
        new System.Threading.Thread(() =>
        {
            System.Threading.Thread.Sleep(100000); // simulate heavy task!
        }
        ).Start();
        Signal = 1;
    }

    // blocking Run...
    public void Run()
    {
        Signal = 0;
        System.Threading.Thread.Sleep(100000); // simulate heavy task!
        Signal = 1;
    }
}

考虑到这一点,下面是讨论: - 在 WebForm2.aspx 中,我想从客户端(javascript/ajax/nonstatic webservice)或服务器到客户端(使用 scriptmanager 的 registerscript)汇集,以便拥有“ Signal”变量在繁重的过程之后设置为“True”......并告诉用户(通过红色背景到绿色的 div)或其他内容。- 如果是这样,如果我不想使用 SignalR 或 Node.js 或 WebApi 或 WebSockets jet,最好的方法是什么?- 您是否有任何文档,书籍可以在 MVC 项目方法中解释这种情况?

所有社区,非常感谢在这个问题上的帮助。

兄弟,

4

1 回答 1

1

听起来像一个简单的元刷新就可以解决问题,或者一个以设定的时间间隔重新加载页面的 JavaScript - 如果您不想这样做,则不需要任何花哨的东西。

根据繁重工作的完成状态,只需使用红色或绿色 div 渲染页面(服务器端)。

于 2013-08-02T11:40:09.610 回答