我在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功能 - >检查静态内容复选框 –