asp.net 自訂錯誤頁

來源:互聯網
上載者:User

 

1使用定製錯誤頁面
  
   雖然我們發送給使用者的公用錯誤資訊是安全的,就是說它不會威脅到應用程式的秘密,但是這樣的資訊並不好看。也許你希望使用者永遠也看不到這樣的資訊。相反,當處理請求的過程中,如果發生了一個為處理的錯誤,你希望能夠顯示自己的“定製錯誤頁面”,顯示出自己的品牌以及特定的錯誤資訊。

向ASP.NET 應用程式中增加定製錯誤資訊非常容易。首先,編寫自己的 web頁面,它可以是任何類型的檔案:.htm,.aspx,.asp,等等。然後在應用程式的config.web檔案中修改配置資訊,讓它指向這個檔案。

舉例說明,以下這個配置資訊說明在發生了任何未能預定處理錯誤的情況下,瀏覽器都應該被重新導向到“ErrorPage.aspx”頁面:

需要在web.config中配置:

 

<!--配置自訂錯誤,未關閉,開啟,詳細資料-->
<system.web>
        <customErrors mode="On" defaultRedirect="~/ErrorPage.aspx">
        <error statusCode='500' redirect='~/Erorr500.htm'/>
        <error statusCode='403' redirect='~/Erorr403.htm'/>
        <error statusCode='404' redirect='~/Erorr404.htm'/>
        <error statusCode='400' redirect='~/Erorr505.htm'/>
        </customErrors>

</system.web>

 

“on”:意思是總是發出定製錯誤頁面;

“off”:意思是從不發出定製錯誤頁面(你總是看到原始的錯誤資訊);

“remoteonly”:意思是只有當遠程瀏覽器點擊網站時才發出定製錯誤頁面(而在實際機器上點擊網站的開發人員看到的是詳細的錯誤資訊)。

 

 

 

2 在Global.asax檔案中添加應用出錯代碼,寫入系統記錄檔
protected void Application_Error(Object sender, EventArgs e)
{
Exception LastError = Server.GetLastError();
String ErrMessage = LastError.ToString();

 

String LogName = "MyLog";
String Message = "Url " + Request.Path + " Error: " + ErrMessage;

 

 

if (!EventLog.SourceExists(LogName))
{
EventLog.CreateEventSource(LogName, LogName);
}
EventLog Log = new EventLog();
Log.Source = LogName;
Log.WriteEntry(Message, EventLogEntryType.Information, 1);
Log.WriteEntry(Message, EventLogEntryType.Error, 2);
Log.WriteEntry(Message, EventLogEntryType.Warning, 3);
Log.WriteEntry(Message, EventLogEntryType.SuccessAudit, 4);
Log.WriteEntry(Message, EventLogEntryType.FailureAudit, 5);

 

}

 

原帖地址:http://www.cnblogs.com/innhyul/archive/2010/03/26/1696947.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.