【发布时间】:2016-06-08 09:22:36
【问题描述】:
我有一个 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")); } }
有人能想出一些线索吗?在此先感谢:)
【问题讨论】:
-
从控制面板 -> 在窗口功能开启或关闭 -> 互联网信息服务 -> 普通 http -> 选中静态内容复选框并验证所有要选中的复选框。
-
@Nazir,感谢您的回复。无法真正遵循您在 2008 服务器中提到的路径。但是,我可以在网站的 Handler Mapping 列表底部看到处理程序名称 StaticFile。
-
在运行命令类型(控制面板)然后点击右侧打开时卸载程序选择“打开或关闭窗口功能”然后弹出dailog打开“互联网信息服务”->常见的 http 功能 -> 选中静态内容复选框
-
谢谢,我发现静态内容安装在服务器管理器 -> Web 服务器 (IIS) -> 通用 HTTP 功能下。
-
您的问题已解决,请告诉我?
标签: c# asp.net default-document