HttpClient.SendRequestAsync 메서드

정의

오버로드

SendRequestAsync(HttpRequestMessage)

HTTP 요청을 비동기 작업으로 보냅니다. HttpClient 클래스 및 코드 예제에 대한 프로그래밍 지침은 HttpClient 개념 항목을 참조하세요.

SendRequestAsync(HttpRequestMessage, HttpCompletionOption)

비동기 작업으로 HTTP 완료 옵션을 사용하여 HTTP 요청을 보냅니다. HttpClient 클래스 및 코드 예제에 대한 프로그래밍 지침은 HttpClient 개념 항목을 참조하세요.

SendRequestAsync(HttpRequestMessage)

HTTP 요청을 비동기 작업으로 보냅니다. HttpClient 클래스 및 코드 예제에 대한 프로그래밍 지침은 HttpClient 개념 항목을 참조하세요.

public:
 virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[Windows.Foundation.Metadata.Overload("SendRequestAsync")]
[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 요청 메시지입니다.

반환

비동기 작업을 나타내는 개체입니다.

특성

설명

이 작업은 차단되지 않습니다. 반환된 IAsyncOperationWithProgress ( HttpResponseMessageHttpProgress)는 전체 응답(콘텐츠 포함)을 읽은 후 완료됩니다.

요청 매개 변수에 전달된 HttpRequestMessage를 사용하면 SendRequestAsync 메서드가 전송할 HTTP 콘텐츠뿐만 아니라 요청 메시지의 헤더를 설정할 수 있습니다. 반면 PostAsyncPutAsync 메서드는 더 제한된 HTTP 콘텐츠 헤더 집합만 설정할 수 있습니다.

다음은 이 함수가 throw하는 예외입니다.

E_ILLEGAL_METHOD_CALL

요청 메시지는 HttpClient instance 이미 전송되었습니다.

예외 처리

이 메서드를 호출할 때 예외를 처리하는 코드를 작성해야 합니다. 매개 변수 유효성 검사 오류, 이름 확인 실패 및 네트워크 오류로 인해 예외가 발생할 수 있습니다. 네트워크 오류(예: 연결 손실, 연결 오류 및 HTTP 서버 오류)의 예외는 언제든지 발생할 수 있습니다. 이러한 오류로 인해 예외가 발생합니다. 앱에서 처리하지 않으면 예외로 인해 런타임에 의해 전체 앱이 종료될 수 있습니다. 예외를 처리하는 방법에 대한 자세한 내용은 네트워크 앱에서 예외 처리방법: HRESULT 및 예외 매핑을 참조하세요.

추가 정보

적용 대상

SendRequestAsync(HttpRequestMessage, HttpCompletionOption)

비동기 작업으로 HTTP 완료 옵션을 사용하여 HTTP 요청을 보냅니다. HttpClient 클래스 및 코드 예제에 대한 프로그래밍 지침은 HttpClient 개념 항목을 참조하세요.

public:
 virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request, HttpCompletionOption completionOption) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request, HttpCompletionOption const& completionOption);
[Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request, HttpCompletionOption completionOption);
function sendRequestAsync(request, completionOption)
Public Function SendRequestAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)

매개 변수

request
HttpRequestMessage

보낼 HTTP 요청 메시지입니다.

completionOption
HttpCompletionOption

모든 응답을 읽을 때 또는 헤더만 읽을 때 HttpClient 작업이 완료된 것으로 간주되는지 여부를 나타내는 값입니다.

반환

비동기 작업을 나타내는 개체입니다.

특성

설명

이 작업은 차단되지 않습니다. 반환된 IAsyncOperationWithProgress ( HttpResponseMessageHttpProgress)는 completionOption 매개 변수의 값에 따라 완료됩니다.

요청 매개 변수에 전달된 HttpRequestMessage를 사용하면 SendRequestAsync 메서드가 전송할 HTTP 콘텐츠뿐만 아니라 요청 메시지의 헤더를 설정할 수 있습니다. 반면 PostAsyncPutAsync 메서드는 더 제한된 HTTP 콘텐츠 헤더 집합만 설정할 수 있습니다.

다음은 이 함수가 throw하는 예외입니다.

E_ILLEGAL_METHOD_CALL

요청 메시지는 HttpClient instance 이미 전송되었습니다.

예외 처리

이 메서드를 호출할 때 예외를 처리하는 코드를 작성해야 합니다. 매개 변수 유효성 검사 오류, 이름 확인 실패 및 네트워크 오류로 인해 예외가 발생할 수 있습니다. 네트워크 오류(예: 연결 손실, 연결 오류 및 HTTP 서버 오류)의 예외는 언제든지 발생할 수 있습니다. 이러한 오류로 인해 예외가 발생합니다. 앱에서 처리하지 않으면 예외로 인해 런타임에 의해 전체 앱이 종료될 수 있습니다. 예외를 처리하는 방법에 대한 자세한 내용은 네트워크 앱에서 예외 처리방법: HRESULT 및 예외 매핑을 참조하세요.

추가 정보

적용 대상