我有一个 ASP.NET Forms 应用程序,框架版本 4.5,Windows 2008 Server R2 Standard 中的 IIS 7.5。偶尔我会得到一个空白页(下面的屏幕截图)。当我在 IIS 中重置网站时,问题得到解决..但在 2/3 天后再次发生。Web.config 文件顶部包含“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")); } }
有人能想出一些线索吗?提前致谢 :)