ASP.NET: Session.SessionID changes between request

2019-01-02 17:09发布

Why does the property SessionID on the Session-object in an ASP.NET-page change between requests?

I have a page like this:

...
<div>
    SessionID: <%= SessionID %>
</div>
...

And the output keeps changing every time I hit F5, independent of browser.

13条回答
泛滥B
2楼-- · 2019-01-02 17:53

Session ID resetting may have many causes. However any mentioned above doesn't relate to my problem. So I'll describe it for future reference.

In my case a new session created on each request resulted in infinite redirect loop. The redirect action takes place in OnActionExecuting event.

Also I've been clearing all http headers (also in OnActionExecuting event using Response.ClearHeaders method) in order to prevent caching sites on client side. But that method clears all headers including informations about user's session, and consequently all data in Temp storage (which I was using later in program). So even setting new session in Session_Start event didn't help.

To resolve my problem I ensured not to remove the headers when a redirection occurs.

Hope it helps someone.

查看更多
登录 后发表回答