【发布时间】:2013-04-09 06:29:47
【问题描述】:
我正在为日志监视器开发一个项目,并且我正在使用带有SignalR 的 ASP.NET 应用程序。
该应用程序的主要目标是在不同位置(LCD 监视器)的多个客户端中提供错误日志监视器。每当在数据库中创建日志错误时,应用程序都应该通知所有客户端新的错误。
我想在 Web 应用程序中创建一个静态的 Timer 变量,它将由 Application_Start 方法启动。
但是,知道应用程序每个会话只有一个线程,我认为 Web 服务器将有很多计时器一起运行。
我需要知道如何使这个Timer 实例对于网络服务器中的所有会话实例都是唯一的。
【问题讨论】:
-
定时器是干什么用的?每个间隔它都会检查日志数据库是否有新错误?
-
@Psytronic 是的,它会检查数据库是否有新错误,如果有新错误,SignalR 连接将向所有客户端广播。
-
那你为什么想要一个独特的计时器呢?一个计时器还不够,因为您可以使用 signalR 一次将消息推送到所有连接的客户端
-
但是您只需要一个计时器,因为您只需要进行一次数据库检查,并且信号器可以推送到所有连接的客户端。另外,快速阅读一下; haacked.com/archive/2011/10/16/…
-
Application_Start 不是由新会话触发的,而是由应用程序启动触发的。你没有你认为你有的问题。
标签: c# .net asp.net-mvc signalr