91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET應用程序異常怎么處理

發布時間:2021-12-06 13:46:07 來源:億速云 閱讀:104 作者:iii 欄目:編程語言

本篇內容介紹了“ASP.NET應用程序異常怎么處理”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

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

namespace Snowdream  {  public class HttpModule : System.Web.IHttpModule  {  public void Init(System.Web.HttpApplication context)  {  context.Error += new EventHandler(ShowError);  }  private void ShowError(object sender, EventArgs e)  {  //在這里進行異常處理  }  }  }

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

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

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

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

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

“ASP.NET應用程序異常怎么處理”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

哈巴河县| 瑞安市| 梁河县| 南投市| 庆元县| 伊春市| 丽水市| 都匀市| 安岳县| 内乡县| 靖宇县| 昭觉县| 深泽县| 建阳市| 隆德县| 五常市| 石屏县| 叶城县| 额尔古纳市| 富裕县| 泉州市| 石渠县| 遵义市| 清远市| 宜宾县| 连平县| 仁寿县| 曲靖市| 凤庆县| 沅陵县| 黑龙江省| 九台市| 开鲁县| 明光市| 常熟市| 鹿泉市| 繁峙县| 沙河市| 封开县| 缙云县| 镇雄县|