Prasad
Prasad

Reputation: 59491

Keep session alive forever as stackoverflow

I need to keep the session live unless until the user clicks logout in my asp.net mvc(C#) application.

When the user closes the browser and opens again, the session should continue with the values.

I am trying to implement as in stackoverflow.

Any ideas/suggestions?

Upvotes: 8

Views: 3876

Answers (5)

oz.
oz.

Reputation: 2153

if you use FormsAuthentication, you can do something like:

FormsAuthentication.SetAuthCookie("userName", true); 

That will create a cookie that is persisted across different browser sessions, and will achieve what you're looking for.

Upvotes: 2

Wyatt Barnett
Wyatt Barnett

Reputation: 15673

First, if you want to make multi-session but temp data, you should probably look into the ASP.NET user profile.

If you want to persist logins across sessions, look at the bits of FormsAuthentication that deal with remembering the user.

If you need to keep sessions alive indefinitely without setting the timeout forever (therefor triggering murder by the server admin in some cases), a neat trick is to setup an Ajax "heartbeat" to ping back to the server while the browser is open and effectively do a "keep this session alive" trick.

Upvotes: 0

Stefan Hendriks
Stefan Hendriks

Reputation: 4801

If you want to remember 'state' even when (because of the expired session / session cookie) you are forcing your users to login again. You need to persist the session data. Perhaps your web-container can do this for you.

Upvotes: 0

xiangzi
xiangzi

Reputation: 1

The session will be lose when the browser is closed

Upvotes: -3

Dave Swersky
Dave Swersky

Reputation: 34810

You say you want to keep the session alive "as in StackOverflow."... StackOverflow, like most secure sites, does not keep sessions alive indefinitely. It uses cookies to "remember" the login.

Upvotes: 9

Related Questions