微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Cookie无法在MAC -Safari和IOS Mobile-Safari中使用

我正在创建一个模型,序列化&分配到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"]))
});

解决方法

第1名:您正在覆盖cookie – 不会使用此代码使其失效.
响应对象将使用您的“新”cookie发送一次.
如果cookie存在 – 只需更改其值和/或内容.
我会在AppSettings上检查你的假设[“cookiesecond”]

也试试这个:

If Request.ServerVariables("http_user_agent").IndexOf("Safari",StringComparison.CurrentCultureIgnoreCase) <> -1 Then
    Me.Page.ClientTarget = "uplevel"

可能是浏览器上限不匹配……

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐