#c# #asp.net #cookies #sharepoint-2010
#c# #asp.net #файлы cookie #sharepoint-2010
Вопрос:
Я сохраняю файл 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 всегда успешно сохраняется. Я вижу это на клиенте, использующем firebug.
Когда я пытаюсь прочитать этот файл cookie:
System.Web.HttpCookie cookie = HttpContext.Current.Request.Cookies[_cookieApplicationId];
return cookie[_cookieName];
Это работает, когда я выполняю вход, но не работает, если я не авторизован.
Сохранение всегда работает, независимо от того, авторизован я в системе или нет. Итак, где ошибка?
Ответ №1:
После нескольких дней проб и ошибок и тестирования, похоже, возникла проблема с кэшированием у одного (или нескольких) из этих участников: [Sharepoint, IIS, браузер]
Добавление
HttpContext.Current.Response.Cache.SetNoServerCaching();
HttpContext.Current.Response.Cache.SetNoStore();
решена проблема. Я просто не знаю, почему кэширование отличается при анонимном доступе