我有一个ASP.Net 应用程序需求,需要有一些工作,执行通过另一个机。要做到这我留下消息在队列中可见到这两个机。当工作完成后一个消息是左边第二排队。

我需要的ASP.Net 应用程序来检查二队定期见到的任何任务都已完成。

那里是最好的地方但是,这样的循环?全球性的。asax?

我记得读书的地方,你可以得到功能称之后的一个时间间隔。这将是适合的?

有帮助吗?

解决方案

实现周期性的任务上asp.net我已经找到了两个可接受的方法:

  1. 产生一个线程期间Application_Start在全球性的。asax,在一段时间的循环(1)做的工作(2)睡眠的线间隔。
  2. 再次在Application_Start,插入一个虚设的项目进入asp.net 高速缓存,到期在一定的时间间隔,并给那高速缓冲存储器项目的回调可被称为时过期。在这回叫,你可以做的工作,并插入的高速缓冲存储器项目的背相同的方式。

在这两个方面,需要确保你的线继续工作,即使没有发生错误。你可能会将恢复代码在SessionStart和BeginRequest要检查你的线或高速缓冲存储器项目是存在的,并重申如果发生了一些事情。

其他提示

我认为这是定期进行,而其他一些进程对队列中的项目?

如果是这样的话,你可以把东西Global.asax中是在应用程序启动创建一个单独的线程,简单地监视队列,你可以使用一个计时器,对X秒线程睡眠,然后检查结果。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top