ASP.NET global.asax用法

Aza*_*zat 6 asp.net

何时使用和不在asp.net应用程序中使用global.asax文件?我听说你应该只在紧要关头使用那个文件.

Joe*_*zer 6

Global.asax中的文件被用于实现应用程序和会话级别的事件,如:

Application_Init - 在应用程序首次初始化时触发

Application_Start - 在应用程序首次启动时触发

Application_End - 应用程序结束或超时时触发的最终事件

Session_Start - 第一次启动用户会话时触发

Application_BeginRequest - 随每个新请求触发

Application_EndRequest - 在应用程序结束时触发

Application_AuthenticateRequest - 该事件表示请求已准备好进行身份验证.

Application_Error - 在应用程序中发生未处理的错误时触发

Session_End - 在单个用户会话结束或超时时触发.

实现这些处理程序都可以是global.asax的合法用法.例如,Application_Error事件处理程序通常记录任何全局错误,Application_End事件处理程序通常包含应用程序清理逻辑.这些是Global.asax的良好用途.必要时使用它们,如果文件增长,不要害怕.

但是,我已经看到开发人员已经将各种全局方法添加到global.asax中的情况,这些方法确实是不合理的.例如,将业务逻辑与对象本身内的特定域对象相关联,而不是与global.asax相关.如果您在Global.asax中找到不应该存在的方法,那么将工作重构到正确的位置.