いくつかのファイルを保存する必要があるWebアプリを作成しました。このアプリは、Visual Web Developer 2010 Expressを使用してC#で開発しました。プログラムはVWDで問題なく実行されますが、サーバーに展開すると問題が発生します。特に問題の1つは、保存されているファイルが何らかのプロセスによって保持されており、必要なときにアクセスしたり削除したりできないことです。ファイルストリームを適切に閉じていると思います。このような保存の例を次に示します。
string[] lines = MessagesTextbox.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
string messagesFileLocation = currDir + "\\" + reportDir + "\\" + messagesFile;
FileStream fs2 = File.Open(messagesFileLocation, FileMode.Create, FileAccess.Write);
using (StreamWriter sw = new StreamWriter(fs2))
{
sw.WriteLine("<Messages>");
foreach (string message in lines)
{
if (!message.Equals(""))
{
sw.WriteLine("\t<message>" + message + "</message>");
}
}
sw.WriteLine("</Messages>");
}
fs2.Close();
この問題は、HtmlAgilityPackを使用してレンダリングされたHTMLをファイルに保存するときにも発生します。
開発環境とサーバーの唯一の違いは、サーバー上でアプリがIISで実行されていることです。私の開発環境では発生しないのに、IISを使用してこの問題が発生する可能性がある理由を誰かが考えることができますか?サーバーを管理する人は、それが私のコードである必要があると考えていますが、私が言ったように、サーバーはこれらの問題のいずれもなしに自分のマシンで数週間実行されています。
任意の提案をいただければ幸いです。
よろしく。