溫馨提示×

溫馨提示×

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

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

如何進行ASP.NET項目開發(fā)中應用程序的異常處理

發(fā)布時間:2021-10-28 15:47:46 來源:億速云 閱讀:125 作者:柒染 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘P如何進行ASP.NET項目開發(fā)中應用程序的異常處理,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

ASP.NET項目開發(fā)中應用程序異常處理都有哪些問題呢?讓我們開始我們的講解:

相信大家對Application對象不陌生,而且在項目中添加過Global.asax文件。確實,ASP.NET在應用程序級別處理異常的代碼都是放在Global.asax的Application_Error事件處理下的:

void Application_Error(object sender, EventArgs e)   {    // Code that runs when an unhandled error occurs   }

我們可以在上面的事件處理的方法中捕獲所有的異常,而且還可以把異常記錄到日志文件,并且同時發(fā)送Email告訴開發(fā)人員出現(xiàn)了什么問題,如下

ASP.NET項目開發(fā)中應用程序異常處理Code

Exception error = Server.GetLastError().GetBaseException();  //在事件日志中記錄異常  if (!EventLog.SourceExists("ApplicationException"))  {   EventLog.CreateEventSource("ApplicationException", "Application");  }   EventLog eventLog = new EventLog();  eventLog.Log = "Application";  eventLog.Source = "ApplicationException";  eventLog.WriteEntry(error.ToString(), EventLogEntryType.Error);   //發(fā)送Email給開發(fā)人員  MailMessage email = new MailMessage("administrator@xiaoyang.com",  "vince.varallo@PoweredByV2.com");  email.Body = error.ToString();  email.Subject = "An error occurred in the  Application";  SmtpClient smtpClient = new SmtpClient("127.0.0.1", 25);  smtpClient.Send(email);  Response.Redirect("ErrorPage.aspx");

當然,上面的代碼要正確的運行,我們海必須在Global.asax中加入相應的命名空間,而且在發(fā)送郵件的時候,上面的"127.0.0.1"要換為我們自己的郵件服務器的地址:

<%@ Import Namespace="System.Diagnostics" %>  <%@ Import Namespace="System.Net.Mail" %>

還有一點要注意的就是,ASP.NET運行時是以ASPNET賬戶運行的,這個賬戶的權限是有限的,如果我們想要使得上面的代碼可以運行,那么就必須要給ASPNET賬戶訪問注冊表的權限。如果你不給權限,那么上面的代碼就報錯。

我們賦予ASPNET賬戶訪問在"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog"節(jié)點以及字節(jié)點的權限。

ASP.NET項目開發(fā)中應用程序異常處理之如何配置權限:

1.打開"運行"菜單

2.輸入"regedit",然后確定

3.導航到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog"節(jié)點。

4.右擊這個節(jié)點,并且選擇"權限",此時就會彈出權限配置的窗口。

5.點擊"添加",在彈出的窗口中點擊"高級",之后再點擊"查找",***在下面的窗口找到"ASPNET"賬戶,確定。

6.給予ASPNET賬戶讀的權限就OK了。

上面的代碼,如果我們不在***加了Response.Redirect方法,出錯后,用戶看到的就是那個很經(jīng)典的黃顏色的報錯的頁面。我們也知道,那個經(jīng)典的報錯頁面會暴露很多的信息,所以我們常常導航到我們自定義的錯誤頁面。

ASP.NET項目開發(fā)中應用程序異常處理的基本情況就向你介紹到這里,希望對你理解ASP.NET項目開發(fā)中應用程序異常處理有所幫助。

上述就是小編為大家分享的如何進行ASP.NET項目開發(fā)中應用程序的異常處理了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI