如何存储/保存WCF服务中运行的计时器/线程实例

如何存储/保存WCF服务中运行的计时器/线程实例,wcf,multithreading,timer,instance,scheduler,Wcf,Multithreading,Timer,Instance,Scheduler,我正试图做一个简单的调度服务,将自动发送电子邮件等 现在我有了一个简单的WCF服务,我在其中创建了一个计时器实例,设置了一个回调,并在回调中做了一些工作。现在这部分工作正常,回调被调用,其中的工作按预期完成 问题是我需要对计时器进行一些更改,比如更改间隔,或者干脆停止它 但我似乎无法找到一种方法来存储/获取我创建的计时器的实例。每次我创建一个新代理并访问该服务时,我都会得到该服务的一个新实例 我知道我可以使用一个静态变量,但这会使它成为一个“单例”服务,而我目前使用的服务主机不支持这一点 那么,

我正试图做一个简单的调度服务,将自动发送电子邮件等

现在我有了一个简单的WCF服务,我在其中创建了一个计时器实例,设置了一个回调,并在回调中做了一些工作。现在这部分工作正常,回调被调用,其中的工作按预期完成

问题是我需要对计时器进行一些更改,比如更改间隔,或者干脆停止它

但我似乎无法找到一种方法来存储/获取我创建的计时器的实例。每次我创建一个新代理并访问该服务时,我都会得到该服务的一个新实例

我知道我可以使用一个静态变量,但这会使它成为一个“单例”服务,而我目前使用的服务主机不支持这一点


那么,我如何才能获得在上一次调用中实际创建的计时器/线程的实例呢?还是我只是走错了路?

静态在这里并不是一个坏主意。可能该static是一个由Guid键控的字典,Guid将返回给客户机。后续客户端调用使用Guid参数,因此服务的新实例将使用Guid查找计时器。

即,您不能使用ServiceBehaviorAttribute并将InstanceContextMode设置为InstanceContextMode。Single?不,主机目前不支持此功能。实际上,服务主机会自动进行扩展…也就是说,如果它认为需要,它可以部署任何给定服务的新实例。。。