自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

概述ASP.NET應(yīng)用程序

開發(fā) 后端
本文介紹要為ASP.NET應(yīng)用程序添加全局異常處理主要是添加HttpApplication的Error事件的處理。

在我們寫程序時偶爾會由于疏忽導(dǎo)致有些異常沒有進(jìn)行處理。如果將異常詳細(xì)信息提示給用戶會帶來不安全因素,如果不提示詳細(xì)信息又會給用戶報告異常帶來麻煩。雖然可以通過配置customErrors mode來實現(xiàn)只有管理員可以查看錯誤,但發(fā)現(xiàn)問題的時間可能會比較長。通過全局異常處理就可以在異常發(fā)生時立即記錄異常,或直接發(fā)送郵件向管理員報告,以在最快的速度發(fā)現(xiàn)并處理異常。

要為ASP.NET應(yīng)用程序添加全局異常處理主要是添加HttpApplication的Error事件的處理。這與在BeginRequest事件中進(jìn)行URL重寫方法類似。先建一個繼承System.Web.IHttpModule的類。然后添加Init方法和ShowError方法。

  1. namespace Snowdream  
  2. {  
  3. public class HttpModule : System.Web.IHttpModule  
  4. {  
  5. public void Init(System.Web.HttpApplication context)  
  6. {  
  7. context.Error += new EventHandler(ShowError);  
  8. }  
  9. private void ShowError(object sender, EventArgs e)  
  10. {  
  11. //在這里進(jìn)行異常處理  
  12. }  
  13. }  


然后還需要配置web.config的httpModules使之生效.

我現(xiàn)在比較喜歡的做法是將異常的詳細(xì)信息記錄在數(shù)據(jù)庫中,然后返回一個編號,再將頁面重定向到自己寫的錯誤提示頁,將這個編號提示給用戶,用戶如果要報告錯誤只需提供該錯誤編號,管理員就能在后臺中找到錯誤的詳細(xì)信息并進(jìn)行修改。

下面說2個我在做全局異常處理時碰到的問題及我的解決方案

***個是獲取異常hResult,由于是私有屬性不能直接訪問,解決方法是通過(int)System.Runtime.InteropServices.Marshal.GetHRForException(exception)來獲取

第二個問題是記錄了很多不是由于ASP.NET應(yīng)用程序引發(fā)的錯誤,比如用戶鍵入一個錯誤的URL,異常處理系統(tǒng)會記錄一個“文件不存在。”的錯誤,而這些錯誤記錄不僅不能真正反映出ASP.NET應(yīng)用程序的異常反而會給管理員帶來更多麻煩。我的解決方法是通過判斷if(exception is System.Web.HttpException)來過濾這些HttpException.

【編輯推薦】

  1. 淺談ASP.NET MVC框架
  2. 介紹ASP.NET MVC中的MvcAjaxPanel
  3. ASP.NET MVC框架拯救UpdatePanel
  4. 用ASP.NET MVC源代碼尋找解決方案
  5. ASP.NET MVC框架的ActionInvoker
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-07-21 15:02:19

ASP.NET應(yīng)用程序

2009-07-23 13:26:21

2009-07-20 16:08:04

ASP.NET應(yīng)用程序

2009-07-27 16:09:50

2009-07-29 17:01:13

2009-08-05 10:16:54

部署ASP.NET應(yīng)用

2009-07-29 10:30:53

Web應(yīng)用程序ASP.NET

2009-07-23 14:25:03

ASP.NET 2.0

2009-07-29 17:21:10

2009-07-24 11:25:53

Web應(yīng)用程序工程ASP.NET MVC

2009-07-22 18:07:55

論壇應(yīng)用程序ASP.NET MVC

2009-07-27 17:46:42

WCF服務(wù)ASP.NET應(yīng)用程序

2009-07-22 18:02:27

論壇應(yīng)用程序ASP.NET MVC

2009-07-28 10:11:06

ASP.NET應(yīng)用程序

2009-07-21 15:23:55

預(yù)編譯Web應(yīng)用程序ASP.NET

2009-07-24 10:41:00

ASP.NET Web

2009-08-04 11:46:09

2009-07-21 15:14:32

預(yù)編譯應(yīng)用程序ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-12-10 15:35:10

ASP.Net 2.0
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號