2011-11-10 34 views
7

我保存在SharePoint的WebPart的Cookie,以這種方式:問題讀取Cookie在Sharepoint匿名訪問

System.Web.HttpCookie cookie = new System.Web.HttpCookie(_cookieApplicationId); 
cookie[_cookieName] = value; 
cookie.Expires = DateTime.Now.AddMonths(1); 
HttpContext.Current.Response.SetCookie(cookie); 

該cookie始終保存成功。我可以在使用螢火蟲的客戶端上看到它。 當我嘗試讀取該Cookie:

System.Web.HttpCookie cookie = HttpContext.Current.Request.Cookies[_cookieApplicationId]; 
return cookie[_cookieName]; 

它的工作,當我登錄,但事實並非如此,如果我沒有登錄

儲蓄始終工作不管,如果我在我登錄。或不。那麼錯誤在哪裏?

回答

3

經過試驗和錯誤並對其進行測試的日子似乎是從這些參與者的一個(或多個)一個緩存的問題:共享點,IIS,瀏覽器]

添加

HttpContext.Current.Response.Cache.SetNoServerCaching(); 
HttpContext.Current.Response.Cache.SetNoStore(); 

解決問題。我只是不知道爲什麼在匿名訪問中緩存是不同的