my web.config have set 10 mint time out
<sessionstate mode="inproc" timeout="10" />
and filter follows
public override void onactionexecuting(actionexecutingcontext filtercontext) { httpsessionstatebase session = filtercontext.httpcontext.session; httpcookie userinfocookie = httpcontext.current.response.cookies[system.configuration.configurationmanager.appsettings[convert.tostring(cookiefield.cookiename)]]; string userexpire = string.empty; userexpire = new usercontrollerhelper().fetchdatafromcookie(cookiefield.userroleid.tostring()); if (userexpire == null) { filtercontext.result = new redirecttorouteresult(new routevaluedictionary { { "controller", "home" }, { "action", "index" }, { "area", "" } }); } }
and methods have filter [sessionexpire] works fine 1 session next click on same action method cookies clearing automatically.
in global.asax have following code
void session_start(object sender, eventargs e) { session.timeout = 10; } void session_end(object sender, eventargs e) { }
i tried different time outs still no luck.
i saving cookies following code
//create cookie string cookiename = system.configuration.configurationmanager.appsettings[convert.tostring(cookiefield.cookiename)]; httpcookie usercookie = new httpcookie(cookiename); //add key-values in cookie usercookie.values.add(convert.tostring(cookiefield.userid), encryptdata(convert.tostring(userregistrationmodel.id))); usercookie.values.add(convert.tostring(cookiefield.userfirstname), encryptdata(convert.tostring(userregistrationmodel.firstname))); usercookie.values.add(convert.tostring(cookiefield.userlastname), encryptdata(convert.tostring(userregistrationmodel.lastname))); usercookie.values.add(convert.tostring(cookiefield.userlogin), encryptdata(convert.tostring(userregistrationmodel.login))); usercookie.values.add(convert.tostring(cookiefield.userpassword), convert.tostring(userregistrationmodel.loginpassword)); usercookie.values.add(convert.tostring(cookiefield.userroleid), encryptdata(convert.tostring(userregistrationmodel.roleid))); usercookie.values.add(convert.tostring(cookiefield.userconfirmed), convert.tostring(userregistrationmodel.isconfirmedbyadmin)); //set cookie expiry date-time, if required. usercookie.expires = datetime.now.addminutes(10); //writing cookie client. httpcontext.current.response.cookies.add(usercookie);
but after moment "expires" automatically turning 0. there mistake in saving expiry date time in code?
i updated filter , resolved :)
public override void onactionexecuting(actionexecutingcontext filtercontext) { httpsessionstatebase session = filtercontext.httpcontext.session; string userexpire = string.empty; userexpire = new usercontrollerhelper().fetchdatafromcookie(cookiefield.userroleid.tostring()); if (userexpire == null) { filtercontext.result = new redirecttorouteresult(new routevaluedictionary { { "controller", "home" }, { "action", "index" }, { "area", "" } }); } }