使用Signal R提醒

时间:2014-06-09 07:00:20

标签: asp.net-mvc signalr reminders

我在asp.net mvc中使用信号R有一个提醒功能 我有用户界面设置提醒时间,如果当前时间与提醒时间匹配,则调用弹出窗口。 我通过使用javascript计时器每30秒检查一次数据库,使用Signal R成功实现了此功能。如果当前时间不匹配,则会给出' 0'。如果匹配,则返回' 1'并在所有浏览器中显示弹出窗口。但这可以用信号R代替每30秒检查一次数据库吗?有没有什么方法可以把这整件事告诉R?

2 个答案:

答案 0 :(得分:1)

是的,您可以在appdomain范围,应用程序范围或集线器级别使用Timer。只需从nuget获取样本,称为“Microsoft.AspNet.SignalR.Sample”。它实现了库存计时器,定期向所有客户端广播更改。

答案 1 :(得分:1)

您可以使用System.Threading.Timer为客户端和服务器端创建定期方法调用。根据为股票创建的示例项目

_timer = new Timer(UpdateStockPrices, null, _updateInterval, _updateInterval);

它创建和Event-Delegate并及时调用UpdateStockPrices事件,周期为__updateInterval。 在此事件中(下面给出的代码),您可以将剩余消息从服务器广播到与该剩余部分关联的所有客户端或客户端。 您可以将代码编写为: -

  Clients.All.updateStockPrice(stock);

您可以从链接中参考定时器: - http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx