我有一个在IIS下运行的WCF解决方案。我需要回馈给客户的一些数据来自第三方网站,我们需要经常轮询以获取任何新数据。
在Application_Start()方法中创建一个Timer来运行定期后台任务是不是一个坏习惯?如果它不是一个好主意,那你推荐什么?
答案 0 :(得分:3)
不,它是not a good idea。这样做的原因是IIS可以并将卸载您的应用程序域,原因有很多。当发生这种情况时,没有任何警告,并且应用程序域可能会长时间保持卸载状态,甚至在请求进入"将其唤醒后也会停止播放。
要实现您的目标,您应该使此轮询过程脱机并使其在IIS appdomain卸载/加载周期中保持持久。这有a few different techniques,但我建议hangfire。