Книга: C# для профессионалов. Том II
Другие свойства WebRequest и WebResponse
Разделы на этой странице:
Другие свойства WebRequest и WebResponse
Здесь кратко будут упомянуты пара других областей, в которых WebRequest
и WebResponse
и связанные классы предоставляют хорошую поддержку.
Информация заголовка HTTP
Важной частью протокола HTTP является возможность послать значительную заголовочную информацию с помощью потоков запроса и ответа. Эта информация может включать данные GET и POST, cookies, а также данные определенного пользователя, посылающего запрос. Как и можно было ожидать, предоставляется полная поддержка заданию и доступу к этим данным. Однако эта поддержка не является частью классов WebRequest
и WebResponse
, она реализована двумя производными классами: HttpWebRequest
и HttpWebResponse
. Как скоро будет показано, при создании объекта WebRequest
с помощью обычного механизма, если предоставленный URI был URI HTTP, то получаемая ссылка в действительности указывает на объект HttpRequest
, и можно при желании преобразовать эту ссылку в такой объект. Реализация HttpRequest
метода GetResponse()
возвращает объект HttpWebResponse
через ссылку WebResponse
, поэтому снова можно выполнить простое преобразование для доступа к свойствам, специфическим для HTTP.
Подробное описание этой области представлено в документации MSDN для классов HttpWebRequest
и HttpWebResponse.
Асинхронные запросы страниц
Дополнительным полезным свойством WebRequest
вместо WebClient
является возможность асинхронного запроса страниц. Это важно, так как в Интернете возможна достаточно длительная задержка между отправкой запроса на хост и началом получения каких-либо данных. Методы, подобные WebClient.DownloadData
и WebRequest.GetResponse
, не возвращают управление, пока с сервера не вернется ответ. Может оказаться нежелательным, чтобы приложение было связано с ожиданием в течение этого времени. В таком случае попробуйте воспользоваться методами BeginGetResponse()
и EndGetResponse()
. Они работают асинхронно. Если вызвать BeginGetResponse()
, то запрос будет отправлен на хост, а метод немедленно вернет управление, предоставляя делегата типа AsyncCallback
. Пока сервер отвечает на запрос, можно будет выполнять другую работу. Подробное описание этих методов можно найти в MSDN.
- Другие инструменты для осуществления резервного копирования
- 11.2. СВОЙСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- Другие изменения в 7-й версии InterBase
- Датчик расположения и другие датчики
- 4. Свойства унарных операций
- 3. Свойства бинарных операций
- 6.4 Другие файловые системы
- Ключевые свойства форм
- Другие предикаты сравнения
- Я установил программу и не хочу, чтобы другие пользователи о ней знали. Как скрыть ее?
- Можно ли интегрировать в пакет установки Windows Service Pack и другие обновления, чтобы потом не приходилось их устанав...
- Другие варианты подключения