我有一个ASP.NET网站(基于blogengine.net的博客)。
我想与Twitter进行整合。
我需要一些逻辑,不断检查,我是否发布了新的twits,如果我这样做,将在我的网站上创建一个相同的博客文章。
这需要在单独的线程中持续激活检查器对象。我应该在哪里放置我的类的实例化,以便它们在ASP.NET网站在IIS中工作时是活动的?我在哪里将逻辑链接到我的Web应用程序?
谢谢。
答案 0 :(得分:1)
正在进行的进程不应该属于ASP .NET应用程序本身的范围。 ASP .NET应用程序更像是一个请求/响应系统,而不是一个进程调度程序。对于轮询外部服务并更新数据的持续任务,更好的选择是:
这样做的一个重要原因是您从未真正知道您的ASP .NET应用程序是否“正在运行”。由于IIS的自由裁量权,它可以在应用程序池中循环使用,有多种原因。 (这也是为什么把事情放在应用程序启动事件中是一个谨慎的活动,因为在调用它时它并不总是已知或直观。)如果IIS在管理资源时认为有必要,应用程序甚至可以“关闭”。哪一点你的单独线程会发生什么?
理想情况下,在这种情况下,您将拥有的是由数据库支持的ASP .NET应用程序。然后你会有一个单独的应用程序(如上所述)更新同一个数据库。两人无需了解彼此。