真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NET中怎么處理全局異常

這篇文章將為大家詳細(xì)講解有關(guān)ASP.NET中怎么處理全局異常,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、夷陵ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的夷陵網(wǎng)站制作公司

要為ASP.NET應(yīng)用程序添加全局異常處理主要是添加HttpApplication的Error事件的處理。這與在BeginRequest事件中進(jìn)行URL重寫方法類似。先建一個(gè)繼承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)
{
//在這里進(jìn)行異常處理
}
}
}

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

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

下面說2個(gè)我在做全局異常處理時(shí)碰到的問題及我的解決方案:

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

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

關(guān)于ASP.NET中怎么處理全局異常就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


本文標(biāo)題:ASP.NET中怎么處理全局異常
本文網(wǎng)址:http://weahome.cn/article/peipop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部