【发布时间】:2011-01-26 23:02:10
【问题描述】:
我有一个HttpModule 用于处理在 Visual Studio 开发环境中启动和运行的错误。它运作良好。对于客户来说,有硬的404s 并且没有明显的重定向。 Google Analytics 应该对此非常满意。
在Visual Studio 2008中调试,当导航到本地主机时:
[port]/this_page_doesnt_exist.html, I get a our 404 error page and the hard 404.
它也适用于
的开发服务器localhost:[port]/this_page_doesnt_exist.aspx.
当我将它全部移植到我们的IIS7 Web 服务器时,我已经让它完全按照静态 HTML 文件的方式工作。但是,我确定我的模块根本没有被 aspx 文件调用。如果我打开customErrorsOff,我会得到标准的丑陋404 页面。 (如果customErrors 是RemoteOnly,这些确实会起作用。)
线索似乎指向我没有适当调整的一些IIS 设置,但我终生无法找到它。有任何想法吗?
更多信息:
我在集成模式下运行,我的web.config 包含以下部分:
<configuration>
<system.web>
<httpModules>
<add name="ErrorModule" type="HttpModules.ErrorModule, HttpModules"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ErrorModule" preCondition="managedHandler" type="HttpModules.ErrorModule, HttpModules"/>
</modules>
</system.webServer>
</configuration>
还有更多信息
我认为IIS7 中发生的事情并不是正在发生的事情。我在服务器上看到 HTML 文件的 404 错误消息的唯一原因是 CustomErrorHandler 本机模块正在获取它。当我关闭该模块时,我现在让我的 ErrorHandler 运行 aspx 文件,但不运行 HTML 文件。
我必须很接近,但我一直在努力完成剩下的设置。谁能把我推过球门线?
【问题讨论】:
标签: asp.net httpmodule