【发布时间】:2010-01-19 11:33:26
【问题描述】:
我的 WCF 服务是 IDisposable,因为它使用 ReadWriterLockSlim。当我用以下方法处理它们时:
public void Dispose()
{
lockSlim.Dispose();
}
一些公共方法仍在运行(或接受新连接,我不知道),并且由于尝试使用已处置对象(在本例中为 lockSlim)而引发异常。如果在停止 Windows 服务托管的 WCF 服务时,在停止所有正在运行的方法并关闭它以获取新连接后调用 Dispose 方法会更好。但似乎必须手动完成。有什么捷径或例子吗?
【问题讨论】:
-
您能解释一下您在 WCF 服务中使用 ReadWriterLockSlim 吗
-
@Mitch 我使用
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)],所以我需要创建手动锁
标签: wcf windows-services dispose idisposable