將 ASP.NET 應用程式部署至 IIS 7 時,瀏覽頁面拋出:
「未能寫入輸出檔案 — 拒絕存取」
這是典型的權限不足問題,編譯暫存目錄無法被 IIS 處理序身分寫入。
ASP.NET 執行階段需在 C:\Windows\Temp 產生動態編譯的暫存組件。IIS 7 預設應用程式集區身分為 IIS_IUSRS 群組,若該群組缺乏 Temp 目錄的寫入權限,即觸發此錯誤。
C:\Windows\Temp。// 在 .aspx 頁面測試寫入權限
protected void Page_Load(object sender, EventArgs e) {
string testPath = @"C:\Windows\Temp\write_test.tmp";
try {
System.IO.File.WriteAllText(testPath, "ok");
System.IO.File.Delete(testPath);
Response.Write("Temp 目錄寫入權限正常");
} catch (Exception ex) {
Response.Write("權限不足:" + ex.Message);
}
}