我在从C#web-application设置cookie过期日期时遇到问题(在共享的Windows主机服务器上,Plesk,这里没有更改时区的功能)。 当我使用相同的DateTime值设置cookie Value 和 Expiration Date 时,Value是正确的,但是Expiration Date是添加了小时(+9小时):
Cookie Info:
Value: 16/06/2018 17:02:11
Expires: 17.06.2018, 02:02:11
在我的情况下,我使用来自国家/地区的Windows主机,这不是来自我的位置(我也尝试在没有任何更改的情况下上传此项目,位于我所在国家/地区的Windows主机服务器,Plesk,设置我的时区的位置,以及Cookie 值和到期日期是相同的)。我想在我的国家/地区使用时间,在整个网络应用程序中使用(在cookie值和到期日期),所以我使用UTC时间设置位置目的地:
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Georgian Standard Time")
在外国的Plesk上,目的地ID是“中央标准时间”。
我使用下面的代码来设置此测试Cookie:
var date = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Georgian Standard Time");
var cookie = new HttpCookie("TestCookie", date.ToString());
cookie.Expires = date;
HttpContext.Current.Response.Cookies.Add(cookie);
我的问题和问题是,为什么Cookie失效日期不是那个,我在后端代码设置,在这里?
谢谢大家的帮助..