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"