當asp.net應用程序崩潰時,有沒有辦法顯示一個良性錯誤頁面(使用web.config中的一些設置)?ASP.NET:如何使用web.config設置優雅地崩潰?
我有一個應用程序的數據庫定期更新。如果在用戶使用應用程序時更新數據庫,則應用程序通常會崩潰。如果應用程序的網頁被刷新,那麼一切都再次確定。
如何最好地處理這種情況?有沒有辦法將所有崩潰指向一個告訴用戶刷新的網頁?謝謝。
當asp.net應用程序崩潰時,有沒有辦法顯示一個良性錯誤頁面(使用web.config中的一些設置)?ASP.NET:如何使用web.config設置優雅地崩潰?
我有一個應用程序的數據庫定期更新。如果在用戶使用應用程序時更新數據庫,則應用程序通常會崩潰。如果應用程序的網頁被刷新,那麼一切都再次確定。
如何最好地處理這種情況?有沒有辦法將所有崩潰指向一個告訴用戶刷新的網頁?謝謝。
是的,您可以定義並打開自定義錯誤頁面。
<customErrors mode="RemoteOnly" defaultRedirect="~\ErrorPages\GenericError.htm">
<error statusCode="403" redirect="~\ErrorPages\NoAccess.htm" />
<error statusCode="404" redirect="~\ErrorPages\PageNotFound.aspx" />
</customErrors>
設置mode
到On
所有請求或RemoteOnly
只啓用遠程請求的自定義錯誤。然後爲各種錯誤定義儘可能多的錯誤頁面。
當你更新你的應用程序,你可能會考慮放置app_offline.htm
文件在你的web應用程序的根目錄。如果該文件存在,則顯示所有傳入請求。有關更多信息,請參閱http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx。
最好的事情是,每當你想在一個實時網站/數據庫上做任何改變,就是把app_offline.htm
文件放在應用程序文件夾中,從而取下網站。如果用戶崩潰,用戶不應該看到你的應用程序。
請小心,以確保您有超過512個字節的內容 - 請參閱:http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx –
你也可以捕獲你的global.asax中的錯誤,它有一個錯誤處理程序,詢問那裏的錯誤(使用類似Exception ex = Server.GetLastError()的東西),如果它滿足你的任何標準尋找,將它們重定向到任何你想要的。
您的編輯包含下面發佈的完全相同的東西? –