xml ファイルから読み取ってデータを表示する asp.net mvc で Web サイトを開発しました。このファイルは、この xml ファイルを構築するバックエンド プロセスによって定期的に更新され、最終的に ftp 経由でウェブホストにアップロードされます。
これは問題なく機能していますが、先週かそこらで問題が発生しました。「ファイルは別のプロセスで使用されています」というasp.net例外が発生します。私にはこれが何なのか見当もつかないし、とても奇妙だと思う。ここ数か月、コードを何も変更していません。
以下に、xml ファイルをシリアル化するために使用する典型的な方法を示します。
public static IEnumerable<FStreamObject> GetStreams()
{
using (FileStream fs = new FileStream(HttpRuntime.AppDomainAppPath+"/ff.xml", FileMode.Open))
{
XmlReader ffXML = XmlReader.Create(fs);
XmlSerializer ser = new XmlSerializer(typeof(FXmlModel));
var sList = (FXmlModel)ser.Deserialize(ffXML);
fs.Close();
return sList.FSObjectList.OrderByDescending(x => x.Cash);
}
}