2012-07-12 100 views
3

我使用MVC3应用程序内的[HandleError]属性处理错误。这工作正常,但为此工作,我需要添加HttpErrors existingResponse =“替换”可防止MVC的自定义错误处理

<system.web> 
    <customErrors mode="On" /> 

要处理404错误,然后我将此添加到系统。 Web服务器即IIS的配置,而不是asp.net

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="404" /> 
    <error statusCode="404" responseMode="ExecuteURL" path="/404page" /> 
</httpErrors> 

这是简单的伟大工程,为404的。在这里添加这个的原因是它看起来像一个没有任何自定义代码的好的通用程序。现有响应= “替换”是必需的,其他模式导致404不处理。

问题是,当existingResponse =“替换”CustomErrors不再功能。它只是返回一个没有细节的剥离的500错误。

这两种模式是否相互排斥?我知道我可以编写其他404解决方案,但理想情况下,我希望这个简单的配置更改可以工作或理解为什么它不能完成。

回答

3

不是一个直接的答案,但发现this SO solution为我工作,而不是使用existingResponse="replace"