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

标签 .net asp.net session

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

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

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

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

最佳答案

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

关于.net - 究竟是什么导致Session_Start被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671129/

相关文章:

.net - 如何从自定义编辑器更新 PropertyGrid?

c# - 按键盘上的删除键时无法自动更新文本框的总值

.net - 源代码文档工具

跨端点的 Java websockets 共享 session

ios - 在模拟器上运行时,WatchConnectivity 未在 iOS 端激活

c# - dateTime 到 winform 中的短格式

javascript - 如何在 jQuery 中的同一事件上绑定(bind)多个 ID?

asp.net - HTML 助手 DropDownList 解释

asp.net - 如何在母版页和内容页中分别使用Ajax ScriptManager和ToolkitScriptManager而不出错

java - 无法通过过滤器导航到jsp页面