0
我的web.config我已成立10薄荷超時餅乾每次會議結束後到期
<sessionState mode="InProc" timeout="10" />
我的過濾器如下
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", "" } });
}
}
和我所有的方法都具有過濾器[SessionExpire] 它對一個會話正常工作,但對於下一次點擊相同的操作方法cookie會自動清除。
在Global.asax中,我有以下代碼
void Session_Start(object sender, EventArgs e)
{
Session.Timeout = 10;
}
void Session_End(object sender, EventArgs e)
{
}
我嘗試了不同的暫停時間,但仍然沒有運氣。
我保存的cookies用下面的代碼
//create a cookie
string cookieName = System.Configuration.ConfigurationManager.AppSettings[Convert.ToString(CookieField.cookieName)];
HttpCookie userCookie = new HttpCookie(cookieName);
//Add key-values in the 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 the cookie to client.
HttpContext.Current.Response.Cookies.Add(userCookie);
但經過了片刻「期滿」自動轉向0 是否有節約到期日的時間在這個代碼中的任何錯誤?