应该在application_start和global.asax中的session_start事件中放置什么代码?

时间:2010-10-31 13:43:41

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

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

3 个答案:

答案 0 :(得分:0)

Application_Start通常用于初始化应用程序范围的设置,每个应用程序域需要执行一次,例如注册对象容器,读取一些配置初始化值,......在Session_Start中,您可以放置​​一些代码这与开始会话的特定用户有关。

答案 1 :(得分:0)

只是任何例子?好吧,在MVC站点中,路由在Application_Start中注册。这也是初始化IoC容器(如StructureMap)的好地方。如果你想让它们随时可用而不是在用户访问它们时的后期限制(例如,如果它们具有较高的初始化成本并且你宁愿在网站上做一个缓慢的初始命中,那么可能会初始化你的应用程序中的一些单例)不要打扰一两个顾客。)

Session_Start通常较少使用,但对于每个用户(或每个会话,现实地)某种类型的跟踪可能是个好地方。

答案 2 :(得分:0)

注意Application_Start中的异常处理。在IIS7集成模式下,您将没有响应对象或HTTPContext。请参阅此主题:Request is not available in this context