C# cookies在IE中并不持久,但与Chome配合良好
我正在使用以下代码添加和更新Cookie:C# cookies在IE中并不持久,但与Chome配合良好,c#,asp.net-mvc,C#,Asp.net Mvc,我正在使用以下代码添加和更新Cookie: public ActionResult SaveUserTypeCookies(string usertype) { if (Request.Cookies["User"] != null) { HttpCookie cookie = Request.Cookies["User"]; cookie.Values["UserType"] = usertype; cookie.Expires
public ActionResult SaveUserTypeCookies(string usertype)
{
if (Request.Cookies["User"] != null)
{
HttpCookie cookie = Request.Cookies["User"];
cookie.Values["UserType"] = usertype;
cookie.Expires = DateTime.MaxValue;
Response.SetCookie(cookie);
}
else
{
HttpCookie cookie = new HttpCookie("User");
//Need to remove below comment at production deployement
//cookie.HttpOnly = true;
//cookie.Secure = true;
cookie.Values["UserType"] = usertype;
cookie.Expires = DateTime.MaxValue;
Response.Cookies.Add(cookie);
}
return RedirectToAction("CreateUpsID");
}
我正在使用下面的代码检查cookies的存在:
@if (!(Request.Cookies["User"] != null))
{
<div id="overlay_div" class="overlay"></div>
}
而不是
@if ((Request.Cookies["User"] == null))
以避免任何自动重置为空
这段代码在Chrome上运行良好,但当我使用IE11时,cookies不会持久。你怎么知道cookies不会持久?您是在直接调试代码还是在检查浏览器开发工具?在side if条件中,我已经输入了一个div,如果cookies为null,那么就会显示div。cookies在IE11中启用了吗?您还可以尝试将当前域添加到受信任的站点,以确保它不是安全问题。您的代码看起来正常,而且它在一个浏览器中工作,这听起来像是浏览器配置或安全问题。你能在另一台机器上尝试Firefox/Safari或IE吗?谢谢你的建议,但我已经尝试启用Cookie,它不起作用。你试过在Visual Studio中调试代码吗?
@if ((Request.Cookies["User"] == null))