ASP.NET:如何优雅地使用web崩溃.配置设置



当asp.net应用程序崩溃时,是否有一种方法可以显示一个良性错误页面(使用web.config中的一些设置)?

我有一个应用程序,其数据库定期更新。如果在用户使用应用程序时更新数据库,那么应用程序经常会崩溃。如果应用程序的网页被刷新,那么一切都是正常的。

如何最好地处理这种情况?是否有一种方法可以将所有崩溃引导到一个网页,告诉用户只需刷新?谢谢。

可以,您可以定义和打开自定义错误页面。

<customErrors mode="RemoteOnly" defaultRedirect="~ErrorPagesGenericError.htm">
  <error statusCode="403" redirect="~ErrorPagesNoAccess.htm" />
  <error statusCode="404" redirect="~ErrorPagesPageNotFound.aspx" />
</customErrors>

将所有请求的mode设置为On,或将RemoteOnly设置为仅对远程请求启用自定义错误。然后根据需要为各种错误定义尽可能多的错误页面。


当你更新你的应用程序时,你可以考虑在你的web应用程序的根目录中放置一个app_offline.htm文件。如果该文件存在,它将显示所有传入的请求。详见http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx

最好的方法是,当你想对一个实时网站/数据库进行任何更改时,通过在应用程序文件夹中放置一个app_offline.htm文件来删除该网站。如果应用程序崩溃,用户不应该看到它。

还可以在全局变量中捕获错误。asax有一个错误处理程序,在那里询问错误(使用类似Exception ex = Server.GetLastError()的东西),如果它符合你正在寻找的任何标准,将它们重定向到你想要的任何地方。

最新更新