[英]IO exception while reading/writing to file
我正在使用XML文件来存储值。 可以从多种方法访问此XML文件。
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语句
请指导。
如果您需要在多个类的实例中保持安全,则需要将私有锁定变量设置为static
。
private static object lockObject = new object();
删除对Lock的所有调用,并尝试更改您的代码,如下所示:
private void MyCommonMethod()
{
lock (this.lockObject)
{
var element = XElement.Load(path);
// some operations
element.save(path);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.