题
我有一个ASP.Net 应用程序需求,需要有一些工作,执行通过另一个机。要做到这我留下消息在队列中可见到这两个机。当工作完成后一个消息是左边第二排队。
我需要的ASP.Net 应用程序来检查二队定期见到的任何任务都已完成。
那里是最好的地方但是,这样的循环?全球性的。asax?
我记得读书的地方,你可以得到功能称之后的一个时间间隔。这将是适合的?
解决方案
实现周期性的任务上asp.net我已经找到了两个可接受的方法:
- 产生一个线程期间Application_Start在全球性的。asax,在一段时间的循环(1)做的工作(2)睡眠的线间隔。
- 再次在Application_Start,插入一个虚设的项目进入asp.net 高速缓存,到期在一定的时间间隔,并给那高速缓冲存储器项目的回调可被称为时过期。在这回叫,你可以做的工作,并插入的高速缓冲存储器项目的背相同的方式。
在这两个方面,需要确保你的线继续工作,即使没有发生错误。你可能会将恢复代码在SessionStart和BeginRequest要检查你的线或高速缓冲存储器项目是存在的,并重申如果发生了一些事情。
其他提示
我认为这是定期进行,而其他一些进程对队列中的项目?
如果是这样的话,你可以把东西Global.asax中是在应用程序启动创建一个单独的线程,简单地监视队列,你可以使用一个计时器,对X秒线程睡眠,然后检查结果。
不隶属于 StackOverflow