我想將custome錯誤設置爲true以防止用戶查看有關我的應用程序的詳細信息。但我找不到應該在哪裏寫這個<customErrors mode="on">
;應該在web.config還是在web,debug.config或其他地方?在哪裏以及如何爲我的asp.net MVC 3 web應用程序定義<customErrors mode =「on」>
BR
我想將custome錯誤設置爲true以防止用戶查看有關我的應用程序的詳細信息。但我找不到應該在哪裏寫這個<customErrors mode="on">
;應該在web.config還是在web,debug.config或其他地方?在哪裏以及如何爲我的asp.net MVC 3 web應用程序定義<customErrors mode =「on」>
BR
這取決於,但通常應該在Web.config文件中。
Web.Debug.config和Web.Release.config(以及其他配置變體)用於部署應用程序時。執行發佈操作時,轉換將在部署期間應用於您的Web.config文件,這意味着您可以將特定的配置設置應用於調試,發佈以及您設置的其他配置。
如果在開發過程中通常不執行發佈操作,則需要將此設置應用於Web.config文件才能生效。
有關轉換Web.config文件的更多詳細信息,請參閱http://msdn.microsoft.com/en-us/library/dd465318.aspx。對於將customErrors元素添加到Web.config文件的示例,請參閱http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx。
根據我的經驗,我們應該在發佈模式下將自定義錯誤設置爲On,並在調試時將其關閉。要自動執行此操作,我們可以使用web.config轉換,如下例所示。
Web.Debug.config
此設置將使Web服務器,以顯示包含有用的錯誤信息ASP.NET黃頁。
<customErrors mode="Off" xdt:Transform="Replace" />
Web.Release.config
在另一方面,我們不希望用戶知道的技術錯誤。我們應該使用自定義錯誤頁面而不是ASP.NET黃頁。
<customErrors mode="On" xdt:Transform="Replace" />
這應該早已被標記爲接受的答案... – 2015-11-20 15:58:29
爲什麼不'RemoteOnly'?然後,您將不必使用XML轉換,開發人員可以在Web服務器上查看網站時看到錯誤。 – 2017-07-06 12:40:25
有時從網絡服務器上查看網站只是不方便? (不是說你的觀點沒有價值..) – 2017-12-20 10:55:53
放入Web.config並創建一個錯誤頁面進行重定向。 在MVC中,你有HandleErrorAttribute,在類上標記它來處理意外錯誤,記錄它並拋出錯誤頁面。自定義錯誤是默認頁面,具有已知狀態碼的特定錯誤。
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="/PageNotFound?" />
</customErrors>
</system.web>
Scott Hanselman在第9頻道有關於部署以及如何有效使用web.config的調試和發佈版本的很棒的視頻。 http://channel9.msdn.com/Events/MIX/MIX10/FT14 – 2012-02-15 00:29:19
我在關閉 configuration>標籤之前,在web.config中定義,如下所示: - system。 webServer> configuration> 但是如果發生錯誤,則會顯示完整的錯誤消息(不是自定義錯誤)。 –
2012-02-15 01:20:14
將元素放在標記下。您還需要指定defaultRedirect,或者指定爲控制器操作,或者最好指定一個靜態html文件。或者,許多人已將自定義錯誤關閉,然後在應用程序錯誤處理程序中處理路由。有關詳細信息,請參閱http://stackoverflow.com/questions/6733064/how-do-i-display-custom-error-pages-in-asp-net-mvc-3。 –
devdigital
2012-02-15 09:31:17