【问题标题】:What code whould be placed in the application_start and the session_start events in global.asax?应该在 global.asax 中的 application_start 和 session_start 事件中放置什么代码?
【发布时间】:2011-05-03 01:49:00
【问题描述】:

您能否举例说明最适合放置在 Application_Start 和 Session_Start 子例程中的内容? 我知道每个子程序何时被调用。 Application_Start 当第一个用户第一次访问 Web 应用程序时。 Session_Start 当用户打开与应用程序的会话时。 但是这些子程序中的每一个都属于什么代码。每个子程序中的代码应该做什么?

【问题讨论】:

    标签: asp.net global-asax application-start


    【解决方案1】:

    有什么例子吗?好吧,在 MVC 站点中,路由在 Application_Start 中注册。这也是初始化 IoC 容器(例如 StructureMap)的好地方。如果您希望它们在用户访问它们时随时可用而不是后期绑定(例如,如果它们具有较高的初始化成本并且您宁愿自己在网站上进行一次缓慢的初始点击,则可以初始化您在应用程序中拥有的一些单例)而不是打扰一两个客户)。

    Session_Start 的使用频率通常较低,但可能是用于某种形式的按用户(或按会话,实际上是)跟踪的好地方。

    【讨论】:

      【解决方案2】:

      Application_Start 通常用于初始化应用程序范围的设置,这些设置需要在每个应用程序域中完成一次,例如注册对象容器、读取一些配置初始化值……在Session_Start 中,您可以放置​​一些与启动会话的特定用户。

      【讨论】:

        【解决方案3】:

        小心 Application_Start 中的异常处理。在 IIS7 集成模式下,您将没有响应对象或 HTTPContext。看到这个帖子:Request is not available in this context

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-19
          • 1970-01-01
          • 2014-09-19
          相关资源
          最近更新 更多