web.config文件之自定义错误节
web.config文件之自定義錯誤節(jié)
大家都知道,在開發(fā)asp.net應(yīng)用程序時,通過web.config文件可以配置在執(zhí)行 Web 請求期間發(fā)生未處理的錯誤時,ASP.NET
顯示信息的方式。下面是一個典型的基本配置:
?| <system.web> <customErrors mode="On"??defaultRedirect="GenericErrorPage.htm"?> ??????<!--資源不可用。服務(wù)器理解客戶端的請求,但拒絕處理它:如請求web.config文件--> ??????<error statusCode="403"?redirect="NoAccess.htm"?/> ??????<error statusCode="404"?redirect="FileNotFound.htm"?/> </customErrors> </system.web> |
上面的customErrors則是我們定義自定義錯誤的配置結(jié)點,它有兩個比較重要的屬性:mode和defalutRedirect。
下面是MSDN上的描述:
mode指定是啟用還是禁用自定義錯誤,或者在服務(wù)器自身之外的計算機上查看錯誤時,禁用詳細(xì)錯誤消息。可以將 mode 設(shè)置為以下值:
On指定啟用自定義錯誤。 如果未指定 defaultRedirect 特性,用戶將看到一般性錯誤。 會向遠(yuǎn)程客戶端和本地主機顯示自定義錯誤。
Off指定禁用自定義錯誤。 會向遠(yuǎn)程客戶端和本地主機顯示詳細(xì)的 ASP.NET 錯誤。
RemoteOnly指定僅向遠(yuǎn)程客戶端顯示自定義錯誤并且向本地主機顯示詳細(xì)的 ASP.NET 錯誤。 這是默認(rèn)值。
defaulRedirect指定出錯時將瀏覽器定向到的默認(rèn) URL。 如果未指定該特性,則顯示一般性錯誤。
上面的描述中有3種錯誤:自定義錯誤、一般性錯誤、詳細(xì)的asp.net錯誤。
? ? ? 那這三種錯誤分別指的是什么,下面通過一個簡單的例子來說明。
? ? 1)如果設(shè)置mode=Off,則禁用自定義錯誤,向遠(yuǎn)程客戶端和本地主機顯示詳細(xì)的 ASP.NET 錯誤。
?
上圖的信息即是詳細(xì)的詳細(xì)的 ASP.NET 錯誤。
2)如果設(shè)置mode=On,則啟用自定義錯誤。如果未指定 defaultRedirect 特性,用戶將看到一般性錯誤。
我們?nèi)サ?defaultRedirect屬性,并設(shè)置mode=On。此例子中代表:啟用自定義錯誤顯示,但會發(fā)生分母為0的錯誤時
ASP.NET的處理方式。如下圖所示:
上圖顯示的信息即為一般性錯誤。
3)如果設(shè)置mode=On,則啟用自定義錯誤。此處指定 defaultRedirect=GenericErrorPage.htm,則將顯示自定義錯誤。
此時顯示的則是自定義錯誤。
? ?同樣的,我們也可以指定當(dāng)訪問的文件不存在或無權(quán)限訪問當(dāng)前頁面時,asp.net如何顯示我們自定義的頁面。可以通過error子
結(jié)點來配置。如:
<error statusCode="403" redirect="NoAccess.htm" /><error statusCode="404" redirect="FileNotFound.htm" />更多:http://www.cnblogs.com/andylcp/p/3219029.html
此處只簡單描述自定義錯誤配置中比較常用的信息,有關(guān)配置結(jié)點更詳細(xì)的信息請參考MSDN。
轉(zhuǎn)載于:https://www.cnblogs.com/sunet/p/3222759.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的web.config文件之自定义错误节的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ-3590 The shuffle
- 下一篇: 测试工具的选择和使用