ASP.Net Session_Start always firing

2019-06-25 06:05发布

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.

3条回答
Fickle 薄情
2楼-- · 2019-06-25 06:50

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..

查看更多
Bombasti
4楼-- · 2019-06-25 07:02

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.
查看更多
登录 后发表回答