代码:
public static bool WriteXml(...)
{
try
{
DataSet ds = new DataSet();
ds.ReadXml(xmlFilePath);// 读出来后,进行写操作如果增加修改或删除一列
// 然后ds.WriteXml(xmlFilePath);
return true;
}
catch (Exception ex)
{
throw ex;
}
}如果有多个用户同时去对这个XML文件进行写操作的话就会提示
该进程无法访问文件“Path\xxx.xml”,因为该文件正由另一进程使用。 请问该如何解决? 谢谢了先.
public static bool WriteXml(...)
{
try
{
DataSet ds = new DataSet();
ds.ReadXml(xmlFilePath);// 读出来后,进行写操作如果增加修改或删除一列
// 然后ds.WriteXml(xmlFilePath);
return true;
}
catch (Exception ex)
{
throw ex;
}
}如果有多个用户同时去对这个XML文件进行写操作的话就会提示
该进程无法访问文件“Path\xxx.xml”,因为该文件正由另一进程使用。 请问该如何解决? 谢谢了先.
{
public static bool WriteXml(...)
{
try
{
DataSet ds = new DataSet();
ds.ReadXml(xmlFilePath);// 读出来后,进行写操作如果增加修改或删除一列
// 然后ds.WriteXml(xmlFilePath);
return true;
}
catch (Exception ex)
{
throw ex;
}
}
}
{
lock (this)
{try
{
DataSet ds = new DataSet();
ds.ReadXml(xmlFilePath);// 读出来后,进行写操作如果增加修改或删除一列
// 然后ds.WriteXml(xmlFilePath);
return true;
}
catch (Exception ex)
{
throw ex;
}
}
}
static方法中无法使用this吧?
public static object syncobject = new object();
另外注意线程安全。
不用的时候 unlock()平常的时候不要用file读它. 读了要赶紧释放.
关闭xml的连接指的是?偶现在不明白的是在使用DataSet操作xml的时候到底如何关闭连接或者释放资源?使用lock static方法的时候 还得重新声明新的对象,比较麻烦。