我对以下内容感到有点困惑: 我在Global.asx的Session_Start()中设置了一个带有一些逻辑的asp.net网站。我预计这甚至只会在会话期间触发一次。但是,每次请求都会触发事件。
当我声明一个虚拟会话对象时,这解决了问题。
我也可以在web.config中添加<sessionState mode="InProc" />
时修复此问题。我使用IIS7并检查了默认值,这已经设置为“正在处理”。
我错过了什么?这是正常的行为吗?即使我没有声明会话对象,我也希望这个事件能够正常工作。
答案 0 :(得分:1)
将某些内容存储在Session对象中。
Session["dummy"] = 1;
答案 1 :(得分:1)
我认为如果使用的浏览器不允许使用cookie,就会发生这种情况。如果您正在重新启动应用程序池,则会话将丢失。
<sessionState cookieless="true" />
这将解决不允许使用cookie的问题..
答案 2 :(得分:1)
你要检查:
答案 3 :(得分:0)
我最近遇到了这个问题,发现如果bin文件夹中的任何文件被更新,它将自动重新启动应用程序,从而触发Application_Start和Session_Start事件。就我而言,我正在bin文件夹中创建日志文件,并且日志文件中的更新会重新启动应用程序。我只是将日志文件移到bin文件夹之外以解决问题。