我以这种方式将Cookie保存在sharepoint webpart中:
System.Web.HttpCookie cookie = new System.Web.HttpCookie(_cookieApplicationId);
cookie[_cookieName] = value;
cookie.Expires = DateTime.Now.AddMonths(1);
HttpContext.Current.Response.SetCookie(cookie);
该Cookie始终成功保存。我可以使用firebug在客户端上看到它。 当我尝试阅读那个cookie时:
System.Web.HttpCookie cookie = HttpContext.Current.Request.Cookies[_cookieApplicationId];
return cookie[_cookieName];
当我登录时它会工作,但如果我没有登录则不会。
无论我是否登录,保存始终有效。那么错误在哪里?
答案 0 :(得分:3)
经过数天的试验和错误测试后,这些参与者中的一个(或多个)似乎是一个缓存问题:[Sharepoint,IIS,浏览器]
添加
HttpContext.Current.Response.Cache.SetNoServerCaching();
HttpContext.Current.Response.Cache.SetNoStore();
解决了这个问题。我只是不知道为什么匿名访问中的缓存不同