wcf - 在 WCF 中运行重复性后台任务的好方法?

标签 wcf background-thread

我有一个在 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/

相关文章:

c# - 从 HTTPClient 响应中解压 GZip 流

android - 如何检查之前启动的自定义自己的服务是否正在运行

wcf - 我们如何在 WCF 中透明地序列化 Dataset ExtendedProperties?

c# - GetRequestStream 随机抛出超时异常

android - 在Android后台线程中使用Realm一次存储所有信息

java - 致命信号 11 仅在 4.4.2 上出现在后台线程中

multithreading - 具有后台线程的WCF NetTCP

Swift:运行代码会阻止其他代码直到完成

c# - 单元测试中using语句的性能影响

javascript - 使用 jsonp 获取 400(错误请求)