中断后立即在 aspx 页上触发服务器端方法

本文关键字:服务器端 方法 aspx 中断 | 更新日期: 2023-09-27 18:32:26


假设我有一个 aspx 页面,它是我的网站的主页,用户将时间花在上面。现在我需要在发生后,此页面变为更新。例如,如果新用户加入网站,所有用户都会在其主页上看到它。我使用 ajax 计时器来解决我的问题,并且每秒调用一种方法,如果我的网站已更改,我可以向用户显示它。但这不是一个好的解决方案。请告诉我如何在中断后立即触发方法,如上例所示。(我认为当我们收到一些新电子邮件时,雅虎邮件也会使用这种方式)

感谢您的任何帮助。

中断后立即在 aspx 页上触发服务器端方法

您可以使当前线程"睡眠"出现新的更改。每个 Web 请求都对应到一个线程。并且您需要使用全局集合来跟踪所有 Currenlt 睡眠线程。

var lastMsgTime=Global.NewMsgTime;  
while(true){     
     Thread.Sleep(300);  
     if(!Response.IsClientConnected||RequeGlobal.NewMsgTime!=lastMsgTime){
          lastMsgTime!=Global.NewMsgTime;
          break;  
     }  
}   

您仍将在客户端使用 Ajax。