簡體   English   中英

ASP.NET Forms應用程序偶爾顯示空白的“ default.aspx”頁面,而不是加載/顯示內容

[英]ASP.NET Forms application displays blank “default.aspx” page sporadically instead of loading/showing contents

我在Windows 2008 Server R2 Standard中有一個ASP.NET Forms應用程序,框架版本4.5,IIS 7.5。 偶爾我會得到一個空白頁(下面的屏幕截圖)。 當我在IIS中重置網站時,問題得到解決..但隨后在2/3天內再次發生。 Web.config文件頂部包含“ default.aspx”作為默認文檔。

在我的應用程序中,default.aspx是在應用程序啟動時創建的空文件-其中不包含任何代碼/內容。 我的猜測是IIS將空白頁保留在緩存中,有時會提供空白頁。 解決方案中的所有其他頁面都是沒有物理存在的虛擬頁面。 但是,點擊其他URL將正確加載內容。

我已經做了以下嘗試不能解決問題:

  1. IIS輸出緩存-禁止對用戶模式和內核模式進行所有緩存。
  2. 在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")); } } 

有人可以提出一些線索嗎? 提前致謝 :)

空白頁面的屏幕截圖

我認為出現此問題的原因是針對虛擬頁面設計應用程序的方式。 在應用程序中有一個“ default.aspx”虛擬頁面,在根文件夾中有一個具有相同名稱的靜態文件(只是一個空文件)。 我最好的猜測是處理程序有時會交付靜態頁面而不是虛擬頁面,因此,將顯示空白屏幕。

我已經部署了一種解決方法,將靜態文件default.aspx替換為index.html。 只是為了確保在加載index.html文件的情況下重定向到默認頁面,並添加了以下代碼:

    <meta charset="UTF-8">
    <meta http-equiv="refresh" content="0; url=default.aspx" />

    <script>
        window.location.href = "default.aspx";
    </script>

到目前為止,它看起來不錯,但是我將密切注意應用程序的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM