ASP.NET global.asax的使用

ASP.NET global.asax的使用,asp.net,Asp.net,在asp.net应用程序中何时使用和不使用global.asax文件?我听说您应该在必要时使用该文件。global.asax是一个HTTPModule。所有请求在到达页面处理程序之前都会经过global.asax和其他模块。使用此选项可对您的请求或响应执行某些任务,如url路由、全局错误处理等。如果您需要在应用程序开始/结束或会话开始/结束时发生特殊情况,或者全局处理异常,您可以使用它映射应用程序和会话生命周期中的事件。该文件用于实现应用程序和会话级别的事件,例如: Application_In

在asp.net应用程序中何时使用和不使用global.asax文件?我听说您应该在必要时使用该文件。

global.asax是一个HTTPModule。所有请求在到达页面处理程序之前都会经过global.asax和其他模块。使用此选项可对您的请求或响应执行某些任务,如url路由、全局错误处理等。

如果您需要在应用程序开始/结束或会话开始/结束时发生特殊情况,或者全局处理异常,您可以使用它映射应用程序和会话生命周期中的事件。

该文件用于实现应用程序和会话级别的事件,例如:

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

应用程序启动-应用程序首次启动时激发

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

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

应用程序_BeginRequest-随每个新请求一起激发

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

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

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

会话结束-每当单用户会话结束或超时时触发

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


然而,我也看到过这样的情况:开发人员在global.asax中添加了各种各样的全局方法,这些方法确实是不合理的。例如,将与特定域对象相关的业务逻辑保留在对象本身中,而不是在global.asax中。如果您在Global.asax中找到了不应该存在的方法,请将工作重构到正确的位置。

您从哪里听说的?原因是什么?我记不清了,但我听说有人告诉我了。