Иногда может потребоваться установить или прочитать Cookies из Silverlight приложения.
Cookies представляют собой строку текста, которая сохраняется на стороне клиента и отправляется на сервер, установивший данную Cookie, при каждом запросе. Их обычно используют для хранения данных о сессии, аутентификации и другой информации, специфичной для конкретного пользователя.
Например, интернет магазин может сохранять в Cookies информацию о выбранных незарегистрированным пользователем товарах. И даже, если такой пользователь закроет окно браузера, он сможет зайти на сайт позже и закончить оформление заказа.
В случае, когда пользователь работает только с Silverlight приложением, лучше использовать изолированное хранилище (IsolatedStorage), оно позволяет хранить любые данные и имеет значительно больший, притом увеличиваемый размер.
Однако бывает, что есть страница, использующая Cookies, и на ней нет Silverlight приложений. При этом прочитать информацию, сохранённую в Cookies надо уже на другой странице из Silverlight приложения.
Как это сделать? Нет ничего проще.
Читать и устанавливать Cookies в Silverlight приложении мы можем, используя объект HtmlPage.Document, определённый в пространстве имён System.Windows.Browser.
Для установки Cookie надо вызвать метод SetProperty() и передать ему строку следующего формата: «Ключ=Значение;expires=Дата_Окончания_Хранения.»
Вот типовой код:
private void SetCookie(string key, string value) { DateTime expireDate = DateTime.Now + TimeSpan.FromDays(10); string cookie = String.Format("{0}={1};expires={2}", key, value, expireDate.ToString("R")); HtmlPage.Document.SetProperty("cookie", cookie); }
Прочитать же Cookies можно используя свойство HtmlPage.Document.Cookies.
Также привожу типовой код:
Также привожу типовой код:
private string GetCookie(string key) { string[] cookies = HtmlPage.Document.Cookies.Split(';'); foreach (string cookie in cookies) { string[] keyValue = cookie.Split('='); if (keyValue.Length == 2) { if (keyValue[0].ToString().Trim() == key) return keyValue[1]; } } return null; }
ссылка на сайт
(с) Сергей Пугачев