我正在嘗試寫入Asp.Net格式(.aspx)中的文件。我可以通過創建文件罰款,在Asp.Net中寫入文件
if (!File.Exists(Settings.Default.FileLocation))
{
File.Create(Settings.Default.FileLocation);
}
但是,當我去使用此代碼寫入文件:
File.WriteAllBytes(Settings.Default.FileLocation, someByteArray);
我得到一個異常:
System.IO.IOException: The process cannot access the file 'C:\inetpub\wwwroot\mysite.com\captured\captured.xml' because it is being used by another process.
(在此case'C:\ inetpub \ wwwroot \ mysite.com \ captured \ captured.xml'== Settings.Default.FileLocation)
我不能刪除或複製f在此期間,Windows資源管理器也會自動啓動。但是,如果我停止或重新啓動應用程序池,WebForm正在運行,錯誤消失。這是什麼原因以及如何防止它?
這是一個雙贏的服務器2012 R2上運行,並且IIS 7.5
是的,我提出這個問題後,我就明白了這一點。 Facepalm時刻 –
@Mike_G這裏真正的教訓是「在.NET中內置的東西感到困惑時檢查MSDN」。對File.Create()的工作方式感到困惑是可以理解的。 – mason