2011-03-07 45 views
1

我在global.asax文件中实现了全局错误处理来处理任何异常,这些异常会将堆栈中的所有方法都向上冒泡。我的Web应用程序连同一个oracle数据库连接到sql server数据库。在我的错误处理程序中,我通过记录它们并将用户重定向到自定义错误页面来处理发生的任何异常。如果数据库关闭,将用户重定向到错误页面

我需要实现的是,如果任一数据库(oracle或sql server)不可用,服务器关闭等,然后将用户重定向到另一个错误页面。

我在做这件事的想法是要检查异常,该异常冒泡到global.asax页面,如果oracle或sql异常,则重定向到其他错误页面。

有没有其他办法可以做我需要做的更清洁的事情?还是更好的解决方案?除了SqlException或者OracleException类型的异常之外,如果我按照我的方法行事,异常中还有其他属性,我应该检查那个数据库关闭的信号?

谢谢

+1

如果你已经抓住了global.asax中的所有东西,那么你的方法是有道理的。您可以在检查更通用的异常错误之前添加逻辑来检查SqlException。 – Zachary 2011-03-07 20:22:59

回答

0

一个聪明的方法是尝试连接数据库。对于oracle,你也可以做一些tnsping的等价物,它应该让你知道他的数据库已经关闭,或者正在关闭或者正在关闭。

相关问题