如果数据库关闭,将用户重定向到错误页面
我已经在 global.asax 文件中实现了全局错误处理,以处理堆栈中所有冒泡的任何异常。我的 Web 应用程序连接到 SQL Server 数据库以及 Oracle 数据库。在我的错误处理程序中,我通过记录异常并将用户重定向到自定义错误页面来处理发生的任何异常。
我需要实现的是,如果任一数据库(oracle 或 sql server)不可用、服务器关闭等,则将用户重定向到另一个错误页面。
我这样做的想法是检查冒泡到 global.asax 页面的异常,如果是 oracle 或 sql 异常,则重定向到另一个错误页面。
还有其他方法可以做我需要做的清洁工作吗?或者更好的解决方案?除了 SqlException 或 OracleException 类型的异常之外,如果我采用我的方法,我应该检查异常中是否还有其他属性,这些属性表明数据库已关闭?
谢谢
I have implemented global error handling in my global.asax file to handle any exceptions that bubble all the ways up the stack. My web application connects to sql server databases along with an oracle database. In my error handler I handle any exceptions that occur by logging them and redirecting the user to a custom error page.
What I need to implement is that if either of the databases (oracle or sql server) are not available, server down etc, then redirect the user to another error page.
My thoughts on doing this was to examine the exception that bubbles up to the global.asax page and if an oracle or sql exception, redirect to this other error page.
Is there any other way I could do what I need to do cleaner? Or a better solution? Apart from the exception being of type SqlException or OracleException are there any other properties in the exception I should examine that signals the db is down, if I go with my approach?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个聪明的方法是尝试与数据库连接。对于 Oracle,您还可以执行与 tnsping 等效的操作,它应该让您知道数据库是打开还是关闭/侦听器是打开还是关闭等。
A smart way would be to attempt a connection with the database. For oracle you can also do something equivalant of a tnsping which should let you know that he db is up or down/ listener is up or down etc.