我有一个在 IIS 下运行的 WCF 解决方案。我需要返回给客户的一些数据来自第三方网站,我们需要经常轮询以获取任何新数据。
为此目的在 Application_Start() 方法中创建一个 Timer 来运行重复的后台任务是一种不好的做法吗?如果这不是一个好主意,那么您有什么建议?
最佳答案
不,是 not a good idea .这样做的原因是 IIS 可以并且将会出于许多不同的原因卸载您的应用程序域。发生这种情况时,不会发出警告,应用程序域可能会长时间处于卸载状态,甚至直到收到“唤醒它”的请求。
要实现您想要的结果,您应该使此轮询过程脱机,并使其在 IIS 应用程序域卸载/加载周期中持久。有a few different techniques为此,但我会推荐 hangfire .
关于wcf - 在 WCF 中运行重复性后台任务的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29354953/