我在Windows 2008 Server R2 Standard中有一個ASP.NET Forms應用程序,Framework版本4.5,IIS 7.5。偶爾我會得到一個空白頁面(下面的截圖)。當我在IIS中重置網站時,問題得到解決..但是在2/3天內再次發生。 Web.config文件在頂部包含「default.aspx」作爲默認文檔。ASP.NET窗體應用程序零星地顯示空白「default.aspx」頁面而不是加載/顯示內容
在我的應用程序中,default.aspx是一個在應用程序啓動時創建的空文件 - 不包含任何代碼/內容。我的猜測是IIS將空白頁保存在緩存中,並且有時會傳遞空白頁。解決方案中的所有其他頁面都是沒有物理存在的虛擬頁面。但是,擊中其他URL會正確加載內容。
我已經做了以下嘗試未解決的問題:
- IIS輸出緩存 - 阻止所有緩存用戶模式和內核模式。
添加以下Global.asax中的代碼塊,以解決該問題加載默認文檔
protected void Application_BeginRequest(Object sender, EventArgs e) { var app = (HttpApplication)sender; if (app.Context.Request.Url.LocalPath.EndsWith("/")) { app.Context.RewritePath(string.Concat(app.Context.Request.Url.LocalPath, "default.aspx")); } }
有人能想出一些線索?感謝提前:)
從控制面板 - >在窗口功能打開或關閉 - >互聯網信息服務 - >普通http - >檢查靜態內容複選框,並驗證所有複選框進行檢查。 –
@Nazir,謝謝你的回覆。不能真正遵循你在2008年提到的服務器的路徑。但是,我可以在網站的Handler Mapping列表底部看到處理程序名稱StaticFile。 – shamal
在運行命令類型(控制面板),然後點擊卸載程序在右側打開時選擇「打開或關閉窗口功能」,然後彈出dailog打開「互聯網信息服務」 - >常見http功能 - >檢查靜態內容複選框 –