2010-06-04 50 views

回答

1

您可以在IIS 6 hack方法上使用主机MVC。基本上,在IIS中设置通配符*映射并让aspnet_isapi.dll处理这个请求,这与使用.NET处理所有请求相同。您可能会遇到性能下降(可能极小),但它应该会影响您的日志记录。

IIS 6 Hack

1

如果你正在使用IIS7,您可以使用httpErrors配置元素。这样做是(请求被处理后),它会检查已被推到输出的响应代码,并允许您拦截来电,如:

<httpErrors existingResponse="PassThrough"> 
    <remove statusCode="404" /> 
    <error statusCode="404" responseMode="ExecuteURL" path="/PageNotFound.aspx" /> 
</httpErrors> 

这是一个很像ASP.NET的的customErrors机制,除了稍后在管道中进行处理。在上面的示例中,我告诉它在遇到404时执行URL /PageNotFound.aspx。但是,您必须小心,因为如果从PageNotFound.aspx页面发送404(通常您会!),它可能陷入循环重定向。为了避免这种情况发生,我们添加了以下属性:

existingResponse="PassThrough" 

这里做的事情是确定当前响应已经有一个身体,如果是的话,把它传递(不处理状态代码)。

我前一阵登载在我的博客:http://www.fidelitydesign.net/?p=21

希望帮助:)

+0

听起来就像是时候升级 – 2010-06-04 06:46:40

+0

有这么多的理由升级到IIS7,但不要忘了,如果没有Windows Server 2008,则无法安装IIS7,因此需要进行完整的服务器升级;) – 2010-06-04 06:52:07