Текущий URL в файл cookie - PullRequest
       1

Текущий URL в файл cookie

0 голосов
/ 09 сентября 2010

Короткий вопрос: «Как сохранить текущий URL в файл cookie?»

И вся проблема в следующем. Я должен сохранить текущие фильтры, которые клиент применил к моей сетке, в своем cookie-файле, чтобы в следующий раз, когда он регистрирует данные, выглядел именно так, как он хочет, чтобы они выглядели. Сервис не имеет каких-либо «вход» в систему, просто предоставляет доступные данные для пользователя. Все это написано в ASP.MVC / C #.

Если у вас есть другие варианты решения этой задачи, я буду рад их обсудить!

Спасибо, что дали минуту.

1 Ответ

3 голосов
/ 09 сентября 2010

http://msdn.microsoft.com/en-us/library/ms178194.aspx

Короче говоря, вы можете получить доступ к данным cookie пользователя, вызвав Response.Cookies, чтобы получить словарь объектов HttpCookie, для которых указано имя, которое вы даете каждому cookie (так же, как хранилища данных Session или ViewState). Вы можете добавить к этому, указав имя файла cookie в индексаторе, как если бы оно было там, и задав свойства Value и ExpirationDate, или создав новый HttpCookie и вызвав Cookies.Add.

Возможно, нет необходимости хранить весь URL-адрес, хотя файл cookie может содержать до 4 тыс. Данных. Вместо этого я бы сохранил строку запроса (которая имеет соответствующие настройки фильтра) под уникальным именем, которое эта конкретная страница будет знать для получения своих данных cookie (возможно, "<page name here>FilterSettings"). Затем в PreInit получите запрос, и если его QueryString пуст, но есть файл cookie с сохраненными настройками фильтра, прикрепите сохраненную строку запроса к текущему URL-адресу и перенаправьте.

Помните, что клиент может контролировать, сохранять ли данные cookie; браузер может принять все, принять из надежных источников, спросить обо всех или отказаться от всех. В этом случае ничего страшного; это чистое удобство, именно для этого и нужно использовать cookie. Если бы это были ценные данные, возможно, вам пришлось бы сохранять их на стороне сервера в зависимости от пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...