1

我需要通知每个用户保存他们的工作并注销,以便管理员可以重置 iis 或在 asp.net MVC 应用程序服务器中进行一些更改。

循环会话对象集合不是线程安全的,这是我所学到的。

还有其他想法吗?

即使我可以获得活动会话,我如何向这些客户发送消息?

提前致谢。

4

3 回答 3

1

将消息保存在数据库中并针对每个请求查询数据库以查看消息是否存在。

于 2012-04-08T00:06:26.573 回答
0

这似乎是一个定义不明确的要求。

应在特定时间进行认真的维护,并应提前提醒用户该时间窗口。

简单地重新启动 IIS 是一个非常快速的过程......在简单地重新启动 IIS 时,用户是否会失去他们的工作?例如,虽然我一直在填写这个 StackOverflow 答案,但他们可能已经重新启动了服务器十几次。一旦我点击 Post,如果服务器关闭,它将超时并将我的工作留在 textarea 中,否则如果服务器及时返回,它将成功连接。

如果我不提交数据,而只是单击链接,则同样适用:浏览器超时,在这种情况下,一旦服务器备份,简单的刷新就足够了,或者最终将用户带到他们想去的地方.

如果您正在执行纯 AJAX 请求,您将需要自己处理丢失的服务器,而不是依靠浏览器来完成,但是由于分布式计算的八种谬误 #1,您无论如何都需要解决这个问题:"网络是可靠的。” (见http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing

所以,我实际上会推迟这个要求。他们要求你做一些不能真正满足需求的事情(用户不会丢失数据,有相当好的体验),这将变得复杂,最终将是一个脆弱的解决方案。

于 2012-04-08T00:15:40.920 回答
0

听起来像是 SignalR 的案例!

https://github.com/SignalR/SignalR

于 2012-04-08T02:55:30.063 回答