3
我使用互斥来确保web服务一次只运行一次,但是我无法100%正确地使用它WaitOnce和ReleaseMutex。NET:使用Mutex来确保一次只调用一次web服务
我有这样的:
private static Mutex mutex = new Mutex();
[WebMethod]
public bool TriggerAll()
{
bool ranJobs = false;
try
{
if (mutex.WaitOne(0, false))
{
Thread.Sleep(10000); // simulate a long operation
ranJobs = true;
}
}
finally
{
mutex.ReleaseMutex();
}
return ranJobs;
}
I'f我尝试两次立即访问web服务,第二个电话不返回false,但我从一个mutex.ReleaseMutex ApplicationException的(“objectsyncronization方法被称为“同步代码块” - 粗略翻译自瑞典语)
这样做的最佳方式是什么?