HttpListener.EndGetContext(IAsyncResult) Метод

Определение

Завершает асинхронную операцию получения входящего клиентского запроса.

C#
public System.Net.HttpListenerContext EndGetContext (IAsyncResult asyncResult);

Параметры

asyncResult
IAsyncResult

Объект IAsyncResult, который был получен при запуске асинхронной операции.

Возвращаемое значение

Объект HttpListenerContext, представляющий клиентский запрос.

Исключения

Значение параметра asyncResult не получено вызовом метода BeginGetContext(AsyncCallback, Object).

asyncResult имеет значение null.

Вызов функции Win32 завершился с ошибкой. Проверьте свойство исключения ErrorCode, чтобы определить причину исключения.

Метод EndGetContext(IAsyncResult) уже был вызван для указанного объекта asyncResult.

Данный объект закрыт.

Примеры

В следующем примере кода показана реализация метода обратного вызова, который вызывает EndGetContext метод .

C#
public static void ListenerCallback(IAsyncResult result)
{
    HttpListener listener = (HttpListener) result.AsyncState;
    // Call EndGetContext to complete the asynchronous operation.
    HttpListenerContext context = listener.EndGetContext(result);
    HttpListenerRequest request = context.Request;
    // Obtain a response object.
    HttpListenerResponse response = context.Response;
    // Construct a response.
    string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
    // Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length;
    System.IO.Stream output = response.OutputStream;
    output.Write(buffer,0,buffer.Length);
    // You must close the output stream.
    output.Close();
}

Комментарии

Метод EndGetContext вызывается , как правило, в определяемом приложением методе обратного вызова, вызываемом делегатом, для получения HttpListenerContext объекта, содержащего входящий запрос клиента и связанный с ним ответ. Этот метод завершает операцию, запущенную ранее путем вызова BeginGetContext метода . Если операция не завершена, этот метод блокируется до тех пор, пока не завершится.

Поскольку для вызова EndGetContext метода требуется HttpListener объект , этот объект обычно передается в метод обратного вызова с помощью объекта состояния, переданного BeginGetContext в метод . Этот объект состояния можно получить с помощью AsyncState свойства asyncResult объекта .

Подробные сведения об использовании асинхронной модели программирования см. в разделе Асинхронный вызов синхронных методов.

Примечания для тех, кто вызывает этот метод

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1