ASP.Net Session_Start always firing

ぃ、小莉子 提交于 2019-12-10 15:25:39

问题


I am a bit confused about the following: I set up an asp.net Website with some logic in the Session_Start() of the Global.asx. I expected that this even will only trigger once during a session. However the event fired with every single request.

When I declare a dummy session object this fixed the problem. Also I can fix this problem when I add <sessionState mode="InProc" /> in the web.config. I use IIS7 and I checked the default value and this is already set to "In Process".

I am missing something? Is this normal behaviour? I was expecting this event to work even if I don't declare a session object.


回答1:


Store something in a Session object.

Session["dummy"] = 1;

http://blogs.msdn.com/b/nikhiln/archive/2007/06/21/detecting-session-timeout-in-asp-net-2-0-web-applications.aspx




回答2:


I think this happens if the browser being used does not allow cookies. As well if you application pool is being restarted the session will be lost.

<sessionState cookieless="true" />

That will solve issues with cookies not being allowed..




回答3:


You'd check:

  • Has your web browser cookies enabled?
  • If you want browser cookies to be disabled, you'll need cookie-less session state management (this isn't a good option, because session parameter will be in the query string...).
  • During the Application_Start in your Global.asx, if you do something there, have you checked isn't throwing some exception that makes your application crash and end?
  • During any stage after Application_Start, and before Session_Start, are you doing something? If this is your case, check the same thing as previous point.



回答4:


I recently came across this issue and found that if any file is updated inside bin folder it automatically restart application which triggers Application_Start and Session_Start events. In my case i was creating log files inside bin folder and updates in log files restarts application. I simply moved my log files outside of bin folder to resolve issue.



来源:https://stackoverflow.com/questions/4885276/asp-net-session-start-always-firing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!