ASP.NET 3.5 網站統一錯誤處理通知
2010-04-22 12:18 宝宝合凤凰 阅读(236) 评论(0) 收藏 举报
開發網站時,最怕使用者抱怨,怎麼出現一個好奇怪的畫面,而這個畫面就是程式執行錯誤的頁面,因此統一錯誤管理變成是開發網站一定要規劃設計的一個功能,如果要在統一錯誤處理頁面再去使用MAIL將訊息傳送給管理員,就可以搭配.NET的傳送MAIL機制,以下亞當斯寫一個可以管理網站整體錯誤的實用範例,步驟如下:
1.在Global.asax的Application_Error事件中,使用Server.Transfer將網頁導到統一處理錯誤的頁面GenericErrorPage.aspx:
1
void Application_Error(object sender, EventArgs e) <BR>{ <BR> Server.Transfer("~/GenericErrorPage.aspx");<BR>}
2.在GenericErrorPage.aspx的Page_Load事件中,先判斷Server.GetLastError()不為null代表有錯誤要處理。
3.使用MAIL來通知管理者錯誤訊息,首先匯入System.Net.Mail命名空間
<%@ Import Namespace="System.Net.Mail" %>
4.建立MailMessage物件
1
//使用asp.net 傳送MAIL<BR>MailMessage mm = new MailMessage("admin@asp.net",<BR> "adams@uuu.com.tw",<BR> "網站錯誤訊息",<BR> Server.GetLastError().GetBaseException().Message);
5.接著先使用Server.ClearError();將錯誤清除 6.最後再用SmtpClient物件來傳送紀錄錯誤的訊息給管理員。
1
try<BR>{<BR> //針對已經的錯誤(如:Send Mail)做處理 <BR> SmtpClient sc = new SmtpClient("localhost");<BR> sc.Send(mm);<BR>}<BR>catch (Exception ex)<BR>{<BR> Response.Write(ex.Message );<BR>}
開發網站時,最怕使用者抱怨,怎麼出現一個好奇怪的畫面,而這個畫面就是程式執行錯誤的頁面,因此統一錯誤管理變成是開發網站一定要規劃設計的一個功能,如果要在統一錯誤處理頁面再去使用MAIL將訊息傳送給管理員,就可以搭配.NET的傳送MAIL機制,以下亞當斯寫一個可以管理網站整體錯誤的實用範例,步驟如下:
1.在Global.asax的Application_Error事件中,使用Server.Transfer將網頁導到統一處理錯誤的頁面GenericErrorPage.aspx:
1 |
void Application_Error(object sender, EventArgs e) <BR>{ <BR> Server.Transfer("~/GenericErrorPage.aspx");<BR>} |
2.在GenericErrorPage.aspx的Page_Load事件中,先判斷Server.GetLastError()不為null代表有錯誤要處理。
3.使用MAIL來通知管理者錯誤訊息,首先匯入System.Net.Mail命名空間
<%@ Import Namespace="System.Net.Mail" %>
4.建立MailMessage物件
1 |
//使用asp.net 傳送MAIL<BR>MailMessage mm = new MailMessage("admin@asp.net",<BR> "adams@uuu.com.tw",<BR> "網站錯誤訊息",<BR> Server.GetLastError().GetBaseException().Message); |
5.接著先使用Server.ClearError();將錯誤清除 6.最後再用SmtpClient物件來傳送紀錄錯誤的訊息給管理員。
1 |
try<BR>{<BR> //針對已經的錯誤(如:Send Mail)做處理 <BR> SmtpClient sc = new SmtpClient("localhost");<BR> sc.Send(mm);<BR>}<BR>catch (Exception ex)<BR>{<BR> Response.Write(ex.Message );<BR>} |
DotBlogs Tags: ASP.NET
posted on 2008/5/19 20:03 我要推薦 | 閱讀數 : 1605 | 文章分類 [ ASP.NET篇 ] | 訂閱
浙公网安备 33010602011771号
# re: ASP.NET 3.5 網站統一錯誤處理通知
加點錯誤控制的小心得:
if ( File.Exists(Server.MapPath("~/IsTestSite")) ) {
} else {
2008/5/29 下午 06:06 | rachen 回覆Server.Transfer("~/ErrorPage.aspx");
}
這樣如果是開發環境時,只要丟一個檔名是 IsTestSite 的檔案,
系統就不會做錯誤導頁了,開發過程中看不到錯誤訊息還挺煩的~