2013-03-21 30 views
2

我有在,在我的MVC項目的根目錄下坐的web.config文件自定義錯誤。錯誤時,新部署的MVC應用程序:HTTP 500和自定義錯誤沒有設置

<customErrors mode="On" defaultRedirect="~/Error"> 
    <error statusCode="403" redirect="~/Error/UnauthorizedAccess" /> 
    <error statusCode="404" redirect="~/Error/NotFound" /> 
</customErrors> 

然而,當我部署在IIS 7中的項目,任何試圖瀏覽Web應用程序在瀏覽器中產生這個錯誤:

Description: An application error occurred on the server. The current custom error 
settings for this application prevent the details of the application error from being 
viewed remotely (for security reasons). It could, however, be viewed by browsers 
running on the local server machine. 

Details: To enable the details of this specific error message to be viewable on remote 
machines, please create a <customErrors> tag within a "web.config" configuration file 
located in the root directory of the current web application. This <customErrors> 
tag should then have its "mode" attribute set to "Off". 

    <!-- Web.Config Configuration File --> 

    <configuration> 
     <system.web> 
      <customErrors mode="Off"/> 
     </system.web> 
    </configuration> 


Notes: The current error page you are seeing can be replaced by a custom error page by 
modifying the "defaultRedirect" attribute of the application's <customErrors> configuration 
tag to point to a custom error page URL.  

    <!-- Web.Config Configuration File --> 

    <configuration> 
     <system.web> 
      <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> 
     </system.web> 
    </configuration> 

在我的應用程序,我已經處理錯誤,並記錄他們並通過電子郵件發送了一些團隊成員。當我在Visual Studio或本地運行應用程序時,所有這些工作。但是,當我瀏覽這個新部署的應用程序時,不會創建日誌,也不會發送任何電子郵件。

更新

有趣的是,它不會去我的應用程序的錯誤處理程序。我知道這是因爲地址欄寫着:

http://10.1.17.43/MyApp/Error?aspxerrorpath=/MyApp 

其中Error是在我的應用程序來處理所有的異常控制器(ErrorController)。

+1

我會嘗試設置'通過'只是爲了看看下面的錯誤信息是什麼。這可能是某種配置錯誤。你嘗試過嗎? – rsbarro 2013-03-21 15:08:27

+0

絕妙的主意!謝謝。 – 2013-03-21 15:10:14

+0

如果它正在進入錯誤處理程序,那麼在錯誤處理頁面上可能會出現異常。 – rsbarro 2013-03-21 15:10:57

回答

2

首先,我會嘗試設置<customErrors mode="Off" />,正好看到下面的錯誤信息是什麼。這可能是某種配置錯誤。

由於應用程序的錯誤頁面被調用,則很可能是錯誤頁面本身上發生了錯誤。設置<customErrors mode="Off" />會讓你看到那個錯誤是什麼。

相關問題