Далее речь пойдет прежде всего о классах WebRequest и WebResponse, поскольку именно они положены в основу сетевых программных средств, доступных в пространстве имен System.Net.

Класс WebReques t

Класс WebRequest управляет сетевым запросом. Он является абстрактным, поскольку в нем не реализуется конкретный протокол. Тем не менее в нем определяются те методы и свойства, которые являются общими для всех сетевых запросов. В табл. 26.1 сведены методы, определенные в классе WebRequest и поддерживающие синхронную передачу данных, а в табл. 26.2 — свойства, объявляемые в классе WebRequest. Устанавливаемые по умолчанию значения свойств задаются в производных классах. Открытые конструкторы в классе WebRequest не определены.

Для того чтобы отправить запрос по адресу URI, необходимо сначала создать объект класса, производного от класса WebRequest и реализующего требуемый протокол. С этой целью вызывается статический метод Create (), определенный в классе WebRequest. Метод Create () возвращает объект класса, наследующего от класса WebRequest и реализующего конкретный протокол.

Таблица 26.1. Методы, определенные в классе WebRequest

Метод

Описание

Public static WebRequest

Создает объект типа WebRequest для иден

Create(string

тификатора URI, указываемого в строке

requestUriString)

requestUriString. Возвращаемый объект реализует протокол, заданный префиксом идентификатора URI. Следовательно, возвращаемый объект будет экземпляром класса, призводного от класса WebRequest. Если затребованный протокол недоступен, то генерируется исключение NotSupportedException. А если недействителен указанный формат идентификатора URI, то генерируется исключение UriFormatException

Метод

Описание

public static WebRequest Create(Uri requestUri)

Public virtual Stream GetRequestStream() public virtual WebResponse GetResponse()

Создает объект типа WebRequest для идентификатора URI, указываемого с помощью параметра reques tUri.Возвращаемый объект реализует протокол, заданный префиксом идентификатора URI. Следовательно, возвращаемый объект будет экземпляром класса, призводного от класса WebRequest. Если затребованный протокол недоступен, то генерируется исключение NotSupportedException Возвращает поток вывода, связанный с запрошенным ранее идентификатором URI Отправляет предварительно сформированный запрос и джидает ответа. Получив ответ, возвращает его в виде объекта класса WebReponse. Этот объект используется затем в программе для получения информации по указанному адресу URI

Таблица 26.2. Свойства, определенные в классе WebRequest

Свойство

Описание

Public AuthenticationLevel

Получает или устанавливает уровень аутентифи

AuthenticationLevel( get; set; }

кации

Public virtual

Получает или устанавливает правила использо

RequestCachePolicy CachePolicy

вания кеша, определяющие момент получения

{ get; set; }

ответа из кеша

Public virtual string

Получает или устанавливает имя группы подклю

ConnectionGroupName { get;

чения. Группы подключения представляют собой

set; }

способ создания ряда запросов. Они не нужны для простых транзакций в Интернете

Public virtual long

Получает или устанавливает длину передаваемо

ContentLength { get; set; }

го содержимого

Public virtual string

Получает или устанавливает описание переда

ContentType { get; set; }

ваемого содержимого

Public virtual Icredentials

Получает или устанавливает мандат, т.е. учетные

Credentials { get; set; }

данные пользователя

Public static

Получает или устанавливает правила использо

RequestCachePolicy

вания кеша по умолчанию, определяющие мо

DefaultCachePolicy { get; set; }

мент получения ответа из кеша

Public static IWebProxy

Получает или устанавливает используемый по

DefaultWebProxy { get; set; }

умолчанию прокси-сервер

Public virtual

Получает или устанавливает коллекцию заголовков

WebHeaderCollection Headers{

get; set; }

Наши рекомендации