日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
概述ASP.NET錯誤處理

要創(chuàng)建頁中的全局處理程序,請創(chuàng)建 Page_Error 事件的處理程序。要創(chuàng)建ASP.NET應(yīng)用程序范圍的錯誤處理程序,請在 Global.asax 文件中將代碼添加到 Application_Error 方法。只要您的頁或應(yīng)用程序中發(fā)生未處理的異常,就會調(diào)用這些方法。您可以從 HttpServerUtility.GetLastError 方法獲取有關(guān)最新錯誤的信息。
注意   如果您具有全局錯誤處理程序,則它優(yōu)先于在 Web.config customErrors 元素的 defaultRedirect 屬性中指定的ASP.NET錯誤處理。

成都創(chuàng)新互聯(lián)是專業(yè)的倉山網(wǎng)站建設(shè)公司,倉山接單;提供網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行倉山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

原則(MSDN):在您的應(yīng)用程序顯示錯誤信息時,它不應(yīng)該泄露有助于惡意用戶攻擊您系統(tǒng)的信息。例如,如果您的應(yīng)用程序試圖登錄數(shù)據(jù)庫時沒有成功,則顯示的錯誤信息不應(yīng)該包括它正在使用的用戶名。

有許多方法可以控制錯誤信息:

將應(yīng)用程序配置為不向遠(yuǎn)程(應(yīng)用程序)用戶顯示詳細(xì)錯誤信息。您也可以選擇將錯誤重定向到應(yīng)用程序頁。
只要可行就包括ASP.NET錯誤處理,并編寫您自己的錯誤信息。在您的錯誤處理程序中,您可以進(jìn)行測試以確定用戶是否為本地用戶并作出相應(yīng)的響應(yīng)。
在捕捉所有未處理異常并將它們發(fā)送到一般錯誤頁的頁級別或應(yīng)用程序級別上,創(chuàng)建全局錯誤處理程序。這樣,即使您沒有預(yù)料到某個問題,至少用戶不會看到異常頁。

一.頁面級的ASP.NET錯誤處理

 
 
 
  1. voidPage_Error(Objectsender,EventArgse){  
  2. Stringmessage="" 
  3. +"

    "+Request.Url.ToString()+"

    "  
  4. +"
    <fontcolorfontcolor='red'>"+Server.GetLastError().ToString()+"
    "  
  5. +"";  
  6.  
  7. Response.Write(message);  
  8. Server.ClearError();  

注:通過使用 Server 對象訪問來自服務(wù)器的錯誤信息。特別地,該示例從 Request 對象獲取請求的 URL,以及 Server 對象的最新錯誤(使用 GetLastError 方法),并將這兩者都轉(zhuǎn)換為客戶端可以顯示的字符串。將 message 變量寫入客戶端后,通過使用 ClearError 方法刪除該錯誤

二.應(yīng)用程序級的錯誤事件中

錯誤處理方式如下:global.asax文件中的application_error中添加處理 邏輯,可添加其它操作,如寫入windows事件日志,發(fā)郵件給管理員,將錯誤信息寫入數(shù)據(jù)庫。具體如下:

 
 
 
  1. protectedvoidApplication_Error(Objectsender,EventArgse)  
  2. {  
  3. StringMessage="\n\nURL:\nhttp://localhost/"+Request.Path  
  4. +"\n\nMESSAGE:\n"+Server.GetLastError().Message  
  5. +"\n\nSTACKTRACE:\n"+Server.GetLastError().StackTrace;  
  6. //寫入windows事件日志  
  7. StringLogName="Application";  
  8. if(!EventLog.SourceExists(LogName))  
  9. {  
  10. EventLog.CreateEventSource(LogName,LogName);  
  11. }  
  12. EventLogLog=newEventLog();  
  13. Log.Source=LogName;  
  14. Log.WriteEntry(Message,EventLogEntryType.Error);  

三.web.config中,自定義錯誤信息。將應(yīng)用程序配置為不向遠(yuǎn)程用戶顯示錯誤

 
 
 
  1.  mode="RemoteOnly" defaultRedirect="AppErrors.aspx">   
  2.     statusCode="404" redirect="NoSuchPage.aspx"/>   
  3.     statusCode="403" redirect="NoAccessAllowed.aspx"/>   
  4.  

注:將 mode 屬性設(shè)置為 RemoteOnly(區(qū)分大小寫)。這就將應(yīng)用程序配置為僅向本地用戶(您和開發(fā)人員)顯示詳細(xì)的錯誤。
(可選)包括指向應(yīng)用程序錯誤頁的 defaultRedirect 屬性。
(可選)包括將錯誤重定向到特定頁的 error 元素。例如,您可以將標(biāo)準(zhǔn) 404 錯誤(未找到頁)重定向到您自己的應(yīng)用程序頁。

四.包括ASP.NET錯誤處理 (MSDN)

1.在可能產(chǎn)生錯誤的任何語句前后使用 try-catch-finally 塊。

2.(可選)使用 Context 對象的 UserHostAddress 屬性對本地用戶進(jìn)行測試并相應(yīng)地修改錯誤處理。值 127.0.0.1 等效于“l(fā)ocalhost”并指示瀏覽器與 Web 服務(wù)器位于同一臺計算機(jī)上。

下面顯示的是一個示例錯誤處理塊。如果發(fā)生錯誤,則用有關(guān)消息的詳細(xì)信息加載 Session 狀態(tài)變量,然后應(yīng)用程序顯示可以讀取 Session 變量并顯示錯誤的頁。(有意寫入此錯誤以便不向用戶提供任何可利用的詳細(xì)信息。)如果用戶是本地用戶,則提供不同的錯誤詳細(xì)信息。在 finally 塊中,釋放開放式資源。

 
 
 
  1. try  
  2. {  
  3. sqlConnection1.Open();  
  4. sqlDataAdapter1.Fill(dsCustomers1);  
  5. }  
  6. catch (Exception ex)  
  7. {  
  8. if(HttpContext.Current.Request.UserHostAddress == "127.0.0.1")  
  9. { Session["CurrentError"] = ex.Message; }  
  10. else  
  11. { Session["CurrentError"] = "Error processing page."; }  
  12. Server.Transfer("ApplicationError.aspx");  
  13. }  
  14. finally   
  15. {  
  16. this.sqlConnection1.Close();  

網(wǎng)頁標(biāo)題:概述ASP.NET錯誤處理
分享路徑:http://www.5511xx.com/article/dhohsdj.html