代码之家  ›  专栏  ›  技术社区  ›  Azat

ASP.NET全局.asax用法

  •  6
  • Azat  · 技术社区  · 15 年前

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

    3 回复  |  直到 15 年前
        1
  •  6
  •   Joe Ratzer    15 年前

    这个 Global.asax 文件用于实现应用程序和会话级事件,例如:

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

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

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

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

    应用程序开始请求-与每个新请求一起激发

    应用程序结束请求-在应用程序结束时激发

    应用程序_authenticateRequest-事件表示请求已准备好进行身份验证。

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

    会话结束-当单个用户会话结束或超时时激发。

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

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

        2
  •  1
  •   Midhat    15 年前

    global.asax是一个httpmodule。所有请求在到达页面处理程序之前都要经过global.asax和其他模块。使用它可以对请求或响应执行某些任务,如URL路由、全局错误handlig等。

        3
  •  0
  •   awe    15 年前

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