Windows服务或Global.asax更适合哪些?

时间:2012-07-16 09:01:18

标签: asp.net windows-services

我最近开始为一家新公司工作,现在正在开发一个Web应用程序(asp.net)。此应用程序使用Global.asax启动计时器,该计时器将以给定间隔执行各种操作(发送电子邮件,在数据库中设置各种值等)

他们现在想要的是有一些东西可以调用第三方Web服务来检索一些数据并在我们的最后更新数据库。我通常会在Windows服务中执行以上所有操作。但是他们似乎很高兴在global.asax

中有这种类型的东西

我将创建一个新项目并将此新功能作为Windows服务开发,但是我应该打扰吗?也许我应该把它添加到global.asax?

我的问题是针对上述情况的最合适/最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

使用外部服务是最佳选择。

  
      
  1. 与请求无关的线程中的未处理异常将取消该过程。即使您通过Application_Error方法设置了处理程序,也会发生这种情况。

  2.   
  3. 如果您在网络服务器场中运行您的网站,您最终可能会遇到应用程序的多个实例,这些实例都会同时尝试运行相同的任务。处理比第一项更具挑战性,但仍然不太难。一种典型的方法是使用所有服务器(例如数据库)共用的资源作为协调任务的同步机制。

  4.   
  5. 您的网站运行的AppDomain可能由于多种原因而停止运行,并使用它来完成后台任务。如果数据在代码执行过程中发生,则可能会损坏数据。

  6.   

欲了解更多信息:

相关问题