【发布时间】:2017-09-03 02:29:04
【问题描述】:
我正在创建一个模型,序列化和分配到 cookie 并将其传递到下一页。 我可以在除
之外的所有浏览器的下一页中获取 cookie 值- MAC -Yoshemite - Safari
-
IOS - IPHONE 6 Mobile - Safari
我是否需要更新以下代码才能在 Safari 中工作。
string CookieName= "dsResponse"; string json = new JavaScriptSerializer().Serialize(model); if (HttpContext.Current.Request.Cookies[CookieName] != null) { HttpContext.Current.Response.Cookies[CookieName].Expires = DateTime.Now.AddDays(-1); } HttpContext.Current.Response.SetCookie(new HttpCookie(CookieName) { Value = json, HttpOnly = false, Expires = DateTime.Now.AddSeconds(Convert.ToInt32(ConfigurationManager.AppSettings["cookiesecond"])) });
【问题讨论】:
-
您尝试在 cookie 中保存的字符串有多长? Cookie 保存数据的空间有限。
-
但在其他浏览器中也能正常工作
-
你的 cookie 有多大? Safari 尤其需要使用超薄 cookie - 每个域 4093B 是一个限制;见stackoverflow.com/questions/640938/…
-
这是第 3 方 cookie 吗?这些在 Safari 中默认被阻止