浏览器不设置cookie

时间:2014-06-19 19:56:09

标签: asp.net asp.net-mvc cookies browser nopcommerce

我使用nopCommerce平台开发了一个ASP.NET MVC网站。生产服务器上的一切正常,但我最近在开发服务器上遇到了有关cookie的问题。浏览器接收cookie,但不会设置它。我可以使用浏览器开发人员工具在标题或Cookie选项卡中的实际cookie中看到Set-Cookie语句。为什么浏览器没有设置此cookie?

Set-Cookie:Pentrugatit.client=78deb2e0-59fb-4193-a53e-da35377ece8b; expires=Fri, 19-Jun-2015 19:33:10 GMT; path=/; HttpOnly

the received cookie

the Pentrugatit.client cookie is not set

只要我的开发服务器已开启,您就可以访问网站here

更新

我还从网络中的另一台计算机上测试过。发生同样的事情。未设置cookie,尽管响应标头中已收到它们。

更新2:

它与过期日期有关。如果我删除cookie的expires属性,那么它会成功设置为会话cookie。但我不明白问题是什么。我的系统日期设置正确,并根据specifications正确设置了Cookie到期日期。

任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:2)

您使用的是哪种版本的nopCommerce?

nopCommerce有一个 browserCaps 功能,可阻止未知浏览器(后来被视为机器人)存储cookie。如果浏览器版本确实通过了browserCaps中的规则,那么旧的 browserCaps 会错误地将有效的浏览器识别为机器人。

该文件位于: Presentation \ Nop.Web \ browserCaps.config 下。如果您使用的是旧版本的nopCommerce,则只需复制同一文件的最新版本(nopCommerce 3.30)即可替换当前版本。

:)

更新2014-06-24:

经过一些分析,结果证明IIS返回的日期是错误的。类似问题:https://serverfault.com/questions/217343/date-header-returned-by-iis7-is-wrong