標籤:簡單的錯誤處理頁設定 佈建網站預設訪問頁面優先順序 webconfig
1、asp.net 定製簡單的錯誤處理頁面
通常web應用程式在發布後,為了給使用者一個友好介面和使用體驗,都會在錯誤發生時跳轉至一個自訂的錯誤頁面,而不是asp.net向使用者暴露出來的詳細的異常列表。
簡單的錯誤處理頁面可以通過web.config來設定
<configuration> <system.web><customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors></system.web></configuration>
mode說明:
On 指定啟用自訂錯誤。如果未指定 defaultRedirect,使用者將看到一般性錯誤。
Off 指定禁用自訂錯誤。這允許顯示標準的詳細錯誤。
RemoteOnly 指定僅向遠程用戶端顯示自訂錯誤並且向本地主機顯示 ASP.NET 錯誤。這是預設值。
預設值為 RemoteOnly。
如果想通過編程的方式來呈現錯誤原因,可以通過Page_Error事件來做這件事.
另一種方式則可以通過Global.asax來實現,我覺得這種方式較為方便,另外如果能結合一個單獨的更加友好的頁面,則看來起更舒服一些
Global.asax(如果需要,可以記錄錯誤記錄檔)
void Application_Error(object sender, EventArgs e) { Exception objErr = Server.GetLastError().GetBaseException(); string error = "發生異常頁: " + Request.Url.ToString() + "<br>"; error += "異常資訊: " + objErr.Message + "<br>"; Server.ClearError(); Application["error"] = error; Response.Redirect("~/ErrorPage/ErrorPage.aspx"); }
再將錯誤資訊顯示在ErrorPage.aspx頁面上,或者只記錄日誌不做顯示。
2、asp.net 通過web.config佈建網站預設訪問頁面優先順序
設定靠前的優先順序別越高
<system.webServer> <defaultDocument> <files> <clear/> <add value="default.aspx"/> <add value="index.htm"/> <add value="index.html"/> <add value="index.aspx"/> <add value="Default.htm"/> <add value="Default.asp"/> <add value="iisstart.htm"/> </files> </defaultDocument> </system.webServer>
Web網站錯誤提示頁面和預設訪問版面設定