我有一个 Web 服务应用程序,它使用另一个保存和加载 xml 文件的应用程序。
对文件进行了 3 次访问后,无法再次访问该文件。如果我杀死属于 NETWORK SERVICE 用户的 w3wp.exe 进程,一切都会重新开始工作,但只有一次。
这是保存和加载 xml 文件的代码示例。
public void saveXmlFile(string filename)
{
if (vsqlschema == null)
{
Console.WriteLine("Tried export data without schema");
//TODO: Messagebox
return;
}
FileStream fs = null;
try
{
XmlSerializer serializer = new XmlSerializer(typeof(vsqlSchema));
fs = new FileStream(filename, FileMode.Create, FileAccess.Write);
serializer.Serialize(fs, vsqlschema);
}
catch (Exception e)
{
Console.WriteLine("IO Error: {0}", e.Message);
//TODO: Messagebox
}
finally
{
if (fs != null)
{
fs.Close();
fs.Dispose();
}
}
}
public XmlDocument loadXml(string filename)
{
//XmlReaderSettings xrs = new XmlReaderSettings();
//xrs.XmlResolver = null;
//xrs.DtdProcessing = DtdProcessing.Ignore;
XmlDocument xdoc = new XmlDocument();
try
{
//using (StringReader sr = new StringReader(filename))
//using (XmlReader reader = XmlReader.Create(sr, xrs))
using (XmlTextReader reader = new XmlTextReader(filename)){
xdoc.Load(reader);
reader.Close();
}
}
catch (XmlException xe)
{
errors.Add(string.Format("Line: {0}, Position: {1}::: {2}", xe.LineNumber, xe.LinePosition, xe.Message));
}
return xdoc;
}
任何想法发生了什么以及可以解决这个问题的方法