Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Объекты Response и Request






Объект Request содержит информацию, присланную клиентским браузером при запросе страницы приложения. Свойства и методы Request позволяют решать задачи, связанные с аутентификацией пользователя, приемом файлов от клиента, определением типа браузера клиента. Ниже приведен перечень свойств и методов объекта Request.

Browser Определение номера версии запрашивающего браузера, возможность поддержки им файлов cookie и другой служебной информации.
ClientCertificates Аутентификация клиента.
Cookies Получение файлов cookie от клиента.
Files Получение файлов, передаваемых клиентом.
InputStream Чтение и запись переданного запроса в виде неструктурированных данных.

Одной из наиболее часто используемых возможностей объектов Request и Response является работа с файлами cookie. Файлы cookie являются одним из возможных механизмов сохранения информации во время работы приложения для ее дальнейшего использования. Эти файлы сохраняются на жестком диске компьютера клиента. Преимуществом cookie является то, что они работают автоматически, пользователь же при этом даже не знает, что какая-то информация должна быть сохранена. Файлы могут храниться достаточно долго, что обеспечивает возможность передачи информации между посещениями. Файлы cookie могут хранить только простую строковую информацию, а за счет того, что они сохраняются на жестком диске компьютера, пользователь может легко найти соответствующий файл и легко прочитать его содержимое. Таким образом, cookie присущи те же недостатки, что и строке запроса, поэтому не рекомендуется использовать такого рода механизм для сохранения сложной или секретной информации, а также при необходимости сохранения большого объема данных.

Например, для проверки того, поддерживает ли браузер клиента файлы cookie, необходимо выполнить следующий код:

if (! IsPostBack) if (Request.Browser.Cookies) Response.Write(" Ваш Браузер поддерживает cookies"); else Response.Write(" Ваш Браузер не поддерживает cookies");

Для определения типа браузера клиента полезно воспользоваться свойством Browser объекта Request. Данный код выводит в окне браузера его тип.



Response.Write(" Ваш браузер - " +Request.Browser.Browser);

Объект Response необходим для формирования отклика сервера на запрос клиента. С помощью свойств и методов Response можно управлять кэшированием откликов перед отправкой клиенту, изменять содержимое файлов cookie, читать и записывать неструктурированные данные, передаваемые клиенту.

Ниже приведен перечень свойств и методов объекта Response.

Cashe Определяет кэширование откликов перед отправкой их клиенту.
Cookies Позволяет задавать содержимое файлов cookie, передаваемых клиенту.
Output Позволяет читать и записывать неструктурированные данные, возвращаемые клиенту в виде отклика.

В следующем примере при наличии в браузере поддержки создается cookie UserName, которому присваивается значение " Иванов Иван".

protected void Page_Load(object sender, EventArgs e){ if (! IsPostBack) if (Request.Browser.Cookies) if (Request.Cookies[" UserName" ]! = null) { Session[" User" ] = Request.Cookies[" UserName" ].Value; Response.Write(Request.Cookies[" UserName" ].Value); } else { HttpCookie uname = new HttpCookie(" UserName"); uname.Value = " Иванов Иван"; Response.Cookies.Add(uname); } else Response.Write(" Ваш Браузер не поддерживает cookies"); }

Cookie, используемый в предыдущем примере, будет сохраняться до тех пор, пока пользователь не закроет окно браузера, при этом он будет отправляться с каждым запросом. При необходимости сохранения cookie в течение определенного времени необходимо установить дату истечения срока действия cookie. В следующем примере cookie будет храниться в течение одного года.

uname.Expires=DateTime.Now.AddYears(1);

При необходимости удаления cookie нужно установить для него " просроченную" дату истечения срока действия. Это можно сделать следующим образом:

uname.Expires=DateTime.Now.AddDays(-1);





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.