我想解决我遇到的一个具体问题,所以这个问题更像是一个讨论。
基本上,有一个带有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);
}
当然,evrything应该是非静态的。Bussiness Logic类看起来像这样:
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的注册脚本)池化,以使“繁重的过程之后,“信号”变量设置为“真”,然后告诉用户(通过具有红色背景到绿色的div)或其他内容。-如果是这样,如果我不想使用SignalR或Node.js或WebApi或WebSockets jet,那将是最好的方法?-您是否有任何文件,书在哪里解释MVC项目方法中的这种情况?
所有社区,在此问题上的帮助表示衷心的感谢。
br
听起来像是简单的meta刷新就可以解决问题,或者用JavaScript按设定的时间间隔重新加载页面-如果您不需要,不需要花哨的东西。
根据繁重工作的完成状态,只需用红色或绿色的div呈现页面(服务器端)即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句