问题
I'm facing a problem on localhost, and in Chrome
and Firefox
, not Edge
this code will work ok, and will set the cookie:
[HttpPost]
public ActionResult Change(string val)
{
var cookie = new HttpCookie(CookieName) { Value = val, Expires = DateTime.Now.AddYears(1) };
Response.Cookies.Add(cookie);
return Content("");
}
however if I change the Expires to just 300 days
, the cookie won't be sent back in the Request Cookies
, (it will still be visible in the Response Cookies
for the Change
request)
Edit:
this action is called via jquery ajax ($.post
); and it used to work maybe half a year ago
回答1:
Have you tried to put cookie.Domain = null on localhost and use the domain name otherwise.
来源:https://stackoverflow.com/questions/37048556/cookie-not-being-set-when-expires-less-than-1-year-on-localhost-chrome-and-ff