我正在使用XML文件來存儲值。這個XML文件可以通過多種方法訪問。讀取/寫入文件時發生IO異常
Private object lockObject = new object()
Method1
{
Lock(this.lockObject)
{
MyCommonMethod()
}
}
Timer.ElapseEvent
{
Lock(this.lockObject)
{
MyCommonMethod()
}
}
MyCommonMethod()
{
// Read/Write to XML file.
var element = XElement.Load(path);
// some operations
element.save(path)
}
此類用於許多其它類和有時候它會拋出異常System.IO,該文件已經被其他的過程,雖然我已經使用了lock語句
請指導。
是否有使用該文件的其他進程? – 2012-03-22 02:51:46
這將防止同時從同一對象多次調用MyCommonMethod,但是如果多個對象同時具有相同的'路徑',則可能會失敗。你確定每個'path'只有一個對象嗎? – porges 2012-03-22 02:52:19
'//某些操作'代碼是否會導致MyCommonMethod再次被調用(可能是間接的)? – phoog 2012-03-22 02:53:05