有人问我是否可以选择“单实例”我们的门户网站。有关WinForms 应用程序中的相同想法,请参阅 Hanselman 博客上的这篇文章。
假设我们在同一台客户端机器上有 2 个快捷方式:
http://MyServer/MyWebPortal/Default.aspx?user=username&document=Foo http://MyServer/MyWebPortal/Default.aspx?user=username&document=Bar
单击第一个快捷方式将启动我们的门户网站,登录并显示文档“Foo”。单击第二个快捷方式应在 Web 门户的运行实例中显示文档“Bar”。
我目前的方法是:在页面加载中,首先为每个客户端创建一个应用程序变量。第二个实例查找 Application 变量以查看门户是否在客户端上运行。如果是,则将第二个 URL 记录在另一个 Application 变量中,并强制退出第二个实例。我尝试创建一个 ASP.Net AJAX 计时器来轮询应用程序变量以显示要显示的文档。这类作品。为了快速响应第二个请求,我将 Timer 间隔设置为 2 秒。由于频繁的回发,这使得门户网站使用起来很烦人。
使用我的方法,有没有办法让第二个实例通知第一个实例检查应用程序变量而不进行轮询?有没有更好的整体方法来解决这个问题?
提前致谢