在ColdFusion 10中,如何判断OnApplicationEnd是由应用程序超时还是服务器关闭引起的?

Mon*_*han 0 coldfusion

在Application.cfc中,在应用程序超时或服务器关闭时调用OnApplicationEnd.但是,我能确切地说出原因是哪一个吗?我只想在服务器关闭时运行一些清理代码,而不是在应用程序超时时运行.我真的能这样做吗?

Bra*_*ood 9

堆栈跟踪在两种情况下可能都不同.设置测试以捕获错误并在每个实例中记录堆栈跟踪.然后,您将知道在调用onApplicationEnd时要查找的内容以确定原因.(您每次都需要捕获错误并在堆栈中搜索).

当然,这带来了一个很大的免责声明,你依赖于未记录的行为,这些行为可以随着对ColdFusion等的任何更新而改变.等等.老实说,最好是封装逻辑,因此它不关心为什么应用程序是被关闭

  • +1到"最好封装逻辑,这样就不关心应用程序被关闭的原因了." (2认同)