IHttpFilter.SendRequestAsync(HttpRequestMessage) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отправка HTTP-запроса на экземпляр IHttpFilter в качестве асинхронной операции.
public:
IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request);
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request);
function sendRequestAsync(request)
Public Function SendRequestAsync (request As HttpRequestMessage) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)
Параметры
- request
- HttpRequestMessage
Сообщение HTTP-запроса для отправки.
Возвращаемое значение
Объект , представляющий асинхронную операцию.
- Атрибуты
Комментарии
Пользовательские фильтры реализуются в методе SendRequestAsync в интерфейсе IHttpFilter .
Классы в пространстве имен Windows.Web.Http поддерживают использование фильтров на основе классов в пространстве имен Windows.Web.Http.Filters . Класс HttpClient в пространстве имен Windows.Web.Http предоставляет базовый класс для отправки HTTP-запросов и получения HTTP-ответов. Фильтры предоставляют механизм обработчика для решения распространенных проблем со службой HTTP. Простые фильтры можно объединить в последовательность для решения более сложных проблем со службой HTTP.
Фильтр HTTP — это черный прямоугольник, который принимает сообщение HTTP-запроса и создает ответное сообщение HTTP. Способ, которым фильтр получает HTTP-ответ, определяется разработчиком фильтра. Приложение может создать ответ немедленно, отправить запрос по протоколу TCP на сервер и даже отправить несколько запросов на сервер (или на несколько серверов), прежде чем создавать ответное сообщение. Так как не указано, как фильтр получает ответное сообщение, фильтр может передать сообщение запроса другому фильтру (называемому внутренним фильтром), делегируя таким образом создание ответного сообщения внутреннему фильтру.
Фильтры обычно добавляют или изменяют заголовки, обрабатывают авторизацию (возможно, с помощью WebAuthenticationBroker), разрешают или запрещают запрос на основе условий сети. Фильтры обычно вносят изменения, а затем передают запрос во внутренний фильтр, который обычно устанавливается при создании фильтра.
Такой подход позволяет фильтрам отвечать только за определенный аспект выполнения HTTP-запроса и делегировать другие аспекты другим фильтрам. Фильтр может реализовывать кэширование, проверку подлинности, перенаправления, файлы cookie, фактическое взаимодействие с сервером или их сочетание. Самый нижний (базовый) фильтр обычно является фильтром, который выполняет фактическую связь с сетью.
Ниже приведены некоторые исключения, создаваемые этой функцией.
E_INVALIDARG
Параметр запроса был пустой ссылкой (Nothing в Visual Basic).
E_ILLEGAL_METHOD_CALL
Сообщение запроса уже отправлено экземпляром IHttpFilter .