C# WCF服务主机中的计时器

C# WCF服务主机中的计时器,c#,wcf,iis,C#,Wcf,Iis,初始化计时器以在WCF服务主机中执行定期任务是一个好主意,还是会影响所承载服务的生命周期或性能 我有一个自定义服务主机,它在启动和停止时宣布它的可用性(目标是为客户端创建一个注册表)。我想创建一个计时器来定期执行此操作,但我担心这会导致问题(我还没有遇到任何问题,但可能我没有足够的压力或其他原因),或者可能会消耗资源并破坏服务的性能。当然,这个想法是将计时器连接到OnOpened和OnClosing事件上 值得一提的是,此服务托管在IIS中,因此它是实例化和管理服务主机的IIS 初始化计时器以在

初始化计时器以在WCF服务主机中执行定期任务是一个好主意,还是会影响所承载服务的生命周期或性能

我有一个自定义服务主机,它在启动和停止时宣布它的可用性(目标是为客户端创建一个注册表)。我想创建一个计时器来定期执行此操作,但我担心这会导致问题(我还没有遇到任何问题,但可能我没有足够的压力或其他原因),或者可能会消耗资源并破坏服务的性能。当然,这个想法是将计时器连接到OnOpened和OnClosing事件上

值得一提的是,此服务托管在IIS中,因此它是实例化和管理服务主机的IIS

初始化计时器以在WCF中执行定期任务是一个好主意吗 服务主机或服务器的生命周期或性能会受到影响吗 正在托管的服务


这将取决于WCF服务的托管位置。如果托管在IIS中,则可能会出现问题。这是因为IIS可以随时决定回收ASP.NET应用程序池,而您的计时器将停止工作。这不是你可以信赖的东西。另一方面,如果您已在Windows服务自主机内托管WCF服务,则可以使用计时器。您可以查看有关在ASP.NET主机中执行重复后台任务的危险的信息。

但是,如果我的任务与服务必须执行的工作无关(也就是说,如果任务因循环而中断,则无所谓)如果当IIS决定回收池时,我接到一个电话通知OnClosing,宣布服务已关闭,我应该没事,对吗?