我正在开发一个显示当前人员配置数据的ASP.NET MVC 5应用程序,并在发生人员配置更改时使用SignalR通知已连接的客户端。这对于实时事件非常有用(“我现在需要离开工作。”),但现在我需要处理将来会发生人员变动的预定事件。
也就是说,事件可能安排在3小时27分钟(“我需要在下午4点离开工作”)或甚至3个月后发生。事件发生时,应通知已连接的客户端,以便向最终用户显示正确的人员配置数据。当然,未来可能会发生变化,解决方案需要考虑被取消或修改的预定事件。
我希望找到一种干净的方法来做到这一点,不涉及从客户端频繁轮询以了解即将发生的事件,服务器端的一个线程,等等。
答案 0 :(得分:0)
我会创建一个小型的Windows服务来处理调度。然后使用服务总线向Web服务器发送信号,例如
http://ayende.com/blog/3752/rhino-service-bus
在网络服务器上,您可以使用https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy 将邮件直接转发给客户