C# web.config之<customErrors>節(jié)點說明案例詳解
更新時間:2021年08月28日 09:57:01 作者:烈日軌跡
這篇文章主要介紹了C# web.config之<customErrors>節(jié)點說明案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
<customErrors>節(jié)點用于定義一些自定義錯誤信息的信息。此節(jié)點有Mode和defaultRedirect兩個屬性,其中defaultRedirect屬性是一個可選屬性,表示應用程序發(fā)生錯誤時重定向到的默認URL,如果沒有指定該屬性則顯示一般性錯誤。Mode屬性是一個必選屬性,它有三個可能值,它們所代表的意義分別如下:
Mode 說明
On 表示在本地和遠程用戶都會看到自定義錯誤信息。
Off 禁用自定義錯誤信息,本地和遠程用戶都會看到詳細的錯誤信息。
RemoteOnly 表示本地用戶將看到詳細錯誤信息,而遠程用戶將會看到自定義錯誤信息。
這里有必要說明一下本地用戶和遠程用戶的概念。當我們訪問asp.net應用程時所使用的機器和發(fā)布asp.net應用程序所使用的機器為同一臺機器時成為本地用戶,反之則稱之為遠程用戶。在開發(fā)調(diào)試階段為了便于查找錯誤Mode屬性建議設置為Off,而在部署階段應將Mode屬性設置為On或者RemoteOnly,以避免這些詳細的錯誤信息暴露了程序代碼細節(jié)從而引來黑客的入侵。
下面我們添加一個頁面CustomErrorsDemo.aspx,在它的Page_Load事件里拋出一個異常,代碼如下:
On 表示在本地和遠程用戶都會看到自定義錯誤信息。
Off 禁用自定義錯誤信息,本地和遠程用戶都會看到詳細的錯誤信息。
RemoteOnly 表示本地用戶將看到詳細錯誤信息,而遠程用戶將會看到自定義錯誤信息。
這里有必要說明一下本地用戶和遠程用戶的概念。當我們訪問asp.net應用程時所使用的機器和發(fā)布asp.net應用程序所使用的機器為同一臺機器時成為本地用戶,反之則稱之為遠程用戶。在開發(fā)調(diào)試階段為了便于查找錯誤Mode屬性建議設置為Off,而在部署階段應將Mode屬性設置為On或者RemoteOnly,以避免這些詳細的錯誤信息暴露了程序代碼細節(jié)從而引來黑客的入侵。
下面我們添加一個頁面CustomErrorsDemo.aspx,在它的Page_Load事件里拋出一個異常,代碼如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class CustomErrorsDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
throw new Exception("故意拋出的異常。");
}
}
我們先配置<customErrors>如下:
<customErrors mode="RemoteOnly">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
這時本地運行CustomErrorsDemo.aspx的效果如下:
遠程訪問時看到的效果:
如果我們將customErrors的Mode屬性設置為“On”本地運行和遠程訪問都會看到如下效果:
如果將customErrors的Mode屬性設置為“Off”本地運行和遠程訪問都會看到如下效果:
<error>子節(jié)點
在<customErrors>節(jié)點下還包含有<error>子節(jié)點,這個節(jié)點主要是根據(jù)服務器的HTTP錯誤狀態(tài)代碼而重定向到我們自定義的錯誤頁面,注意要使<error>子節(jié)點下的配置生效,必須將<customErrors>節(jié)點節(jié)點的Mode屬性設置為“On”。下面是一個例子:
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="403.htm" />
<error statusCode="404" redirect="404.htm" />
</customErrors>
在上面的配置中如果用戶訪問的頁面不存在就會跳轉到404.htm頁面,如果用戶沒有權限訪問請求的頁面則會跳轉到403.htm頁面,403.htm和404.htm頁面都是我們自己添加的頁面,我們可以在頁面中給出友好的錯誤提示。
到此這篇關于C# web.config之<customErrors>節(jié)點說明案例詳解的文章就介紹到這了,更多相關C# web.config之<customErrors>節(jié)點說明內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#結合JavaScript實現(xiàn)秒殺倒計時的方法
這篇文章主要介紹了C#結合JavaScript實現(xiàn)秒殺倒計時的方法,涉及C#結合javascript操作時間的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
C#實現(xiàn)根據(jù)數(shù)字序號輸出星期幾的簡單實例
這篇文章主要介紹了C#實現(xiàn)根據(jù)數(shù)字序號輸出星期幾的簡單實例,代碼簡潔實用,也有助于初學者更好的理解C#的switch和if語句的流程控制,需要的朋友可以參考下2014-07-07
將字符串轉換成System.Drawing.Color類型的方法
將字符串轉換成System.Drawing.Color類型的方法,需要的朋友可以參考一下2013-04-04
詳解C#如何使用屏障實現(xiàn)多線程并發(fā)操作保持同步
這篇文章主要為大家詳細介紹了C#如何使用屏障實現(xiàn)多線程并發(fā)操作保持同步,文中的示例代碼簡潔易懂,具有一定的借鑒價值,有需要的小伙伴可以參考下2024-01-01
c# WPF中通過雙擊編輯DataGrid中Cell的示例(附源碼)
這篇文章主要介紹了c# WPF中通過雙擊編輯DataGrid中Cell的示例(附源碼),幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下2021-03-03
c#編寫的高并發(fā)數(shù)據(jù)庫控制訪問代碼
往往大數(shù)據(jù)量,高并發(fā)時, 瓶頸都在數(shù)據(jù)庫上, 好多人都說用數(shù)據(jù)庫的復制,發(fā)布, 讀寫分離等技術, 但主從數(shù)據(jù)庫之間同步時間有延遲.2015-03-03

