.net-究竟是什么导致Session_Start被调用?

在我正在构建的一个小演示应用程序中,我将代码初始化为Global.Session_Start()事件中的数据库.但是,我注意到,当我在开发服务器上的调试器中通过应用程序运行时,不会触发此事件(尚未在其他任何地方对其进行测试).

问题1:有什么作用? Session_Start()何时真正被调用?我假设是会话开始的时间,但是不是每个新请求序列的开始都会导致会话自动开始吗?当然,每当我使用F5运行时,会话都应该开始,为什么不这样做.

问题2:在哪里有更好的代码初始化数据库?我宁愿不将其放在Application_Start方法中,因为在调试时它并不总是被调用.

PS.通过初始化数据库,我并不是说我打开与SqlServer的连接并使其永远打开.我正在使用db4o并打开一个预先建立的数据库文件.就像我说的那样,这只是一个演示应用程序,我并不担心资源管理不佳或类似问题.

最佳答案
在您访问Session对象之前,我不能完全确定会话是否“开始”.否则,启动不必要的会话似乎会产生不必要的开销.

转载注明原文:.net-究竟是什么导致Session_Start被调用? - 代码日志