乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ASP.NET錯(cuò)誤處理的兩種方案

       悟靜 2012-04-30

      網(wǎng)頁出錯(cuò),在所難免,如何處理,方案任選.

      一般頁面出錯(cuò)后,我們的處理方法一般分為三步:業(yè)務(wù)邏輯→寫入日志→跳轉(zhuǎn)到默認(rèn)頁或指定頁

       

      【方案一】

      1.在web.config添加一個(gè)節(jié)點(diǎn),指定跳轉(zhuǎn)到的默認(rèn)頁.mode為RemoteOnly表示本地報(bào)黃頁,其它用戶跳轉(zhuǎn).

      <system.web>
          
      <customErrors mode="On" defaultRedirect="default.aspx">            
          
      </customErrors>
      </system.web>

       

      2.在Global.asax中添加錯(cuò)誤處理

      復(fù)制代碼
          void Application_Error(object sender, EventArgs e) 
          { 
              
      //在出現(xiàn)未處理的錯(cuò)誤時(shí)運(yùn)行的代碼
              
      //業(yè)務(wù)處理
              
      //寫日志,下面是一個(gè)例子,建議使用第三方控件Log4Net
              try
              {
                  
      using (System.IO.StreamWriter sw = System.IO.File.AppendText("D:\\AX.txt"))
                  {
                      sw.WriteLine(Server.GetLastError().InnerException.Message);
                      sw.WriteLine(Server.GetLastError().InnerException.StackTrace);
                      sw.Flush();
                  }
              }
              
      catch (Exception)
              {
              }
          }
      復(fù)制代碼

       

      3.如果某個(gè)Page出錯(cuò)后需要跳轉(zhuǎn)到指定頁,重寫Page的AddParsedSubObject方法,

      以保證頁面加載最開始為Errorpage屬性賦值,其屬性依賴于第一步中的mode="On",

      不確定mode為RemoteOnly是否可以

      (跳轉(zhuǎn)頁后面會帶系統(tǒng)默認(rèn)的參數(shù)aspxerrorpath=...)

      懶人可以寫在Page_Load方法的第一句話中,該方法之前出錯(cuò)將會使用第二步中的處理方式.我是懶人...

          protected override void AddParsedSubObject(object obj)
          {
              ErrorPage 
      = "Log4Net.aspx";
              
      base.AddParsedSubObject(obj);
          }

      【追加】還可以在頁面前端加Attribute:ErrorPage

       

      <%@ Page Language="C#" AutoEventWireup="true" CodeFile="OnErrorTest.aspx.cs" Inherits="OnErrorTest" ErrorPage="~/AX.aspx" %>

       

      【方案二】

      1.在Global.asax中添加錯(cuò)誤處理,并指定默認(rèn)頁.

      復(fù)制代碼
          void Application_Error(object sender, EventArgs e) 
          { 
              
      //在出現(xiàn)未處理的錯(cuò)誤時(shí)運(yùn)行的代碼
              
      //業(yè)務(wù)處理
              
      //寫日志,下面是一個(gè)例子,建議使用第三方控件Log4Net
              try
              {
                  
      using (System.IO.StreamWriter sw = System.IO.File.AppendText("D:\\AX.txt"))
                  {
                      
      //Server.GetLastError().InnerException.ToString()是異常的詳細(xì)內(nèi)容
                      sw.WriteLine(Server.GetLastError().InnerException.ToString());
                      sw.Flush();
                  }
              }
              
      finally
              {
                  
      //跳轉(zhuǎn)到默認(rèn)頁
                  Server.Transfer("Default.aspx");
              }
          }
      復(fù)制代碼

       

      2.如果某個(gè)Page出錯(cuò)后需要跳轉(zhuǎn)到指定頁

      復(fù)制代碼
          void Page_Error(object sender, EventArgs e)
          {   
              
      //業(yè)務(wù)處理
              
      //寫日志
              
      //跳轉(zhuǎn)到指定頁
              
      //Server.Transfer("Log4Net.aspx");
              
      //
              
      //Response.Redirect("Log4Net.aspx");

              
      //清除錯(cuò)誤,如果執(zhí)行了上面的跳轉(zhuǎn)頁,將永遠(yuǎn)不會執(zhí)行到這句話
              
      //如果不清除,就會執(zhí)行Global.asax的Application_Error()方法
              
      //Server.ClearError();
          }
      復(fù)制代碼

       

      推薦使用方案一,因?yàn)榭梢栽趙eb.config修改跳轉(zhuǎn)的默認(rèn)值

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多