HttpClient.GetBufferAsync(Uri) 메서드

정의

지정된 Uri에 GET 요청을 보내고 비동기 작업에서 응답 본문을 버퍼로 반환합니다. HttpClient 클래스 및 코드 예제에 대한 프로그래밍 지침은 HttpClient 개념 항목을 참조하세요.

public:
 virtual IAsyncOperationWithProgress<IBuffer ^, HttpProgress> ^ GetBufferAsync(Uri ^ uri) = GetBufferAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<IBuffer, HttpProgress> GetBufferAsync(Uri const& uri);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<IBuffer,HttpProgress> GetBufferAsync(System.Uri uri);
function getBufferAsync(uri)
Public Function GetBufferAsync (uri As Uri) As IAsyncOperationWithProgress(Of IBuffer, HttpProgress)

매개 변수

uri
Uri Uri

요청이 전송되는 URI입니다.

반환

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

특성

설명

이 메서드는 일반적으로 작은 이미지 및 압축된 파일과 같은 이진 콘텐츠를 다운로드할 때 호출됩니다. 불필요한 버퍼링을 방지하려면 매우 큰 이진 콘텐츠를 HttpClient.GetInputStreamAsync 를 사용하여 스트림으로 다운로드해야 합니다.

이 작업은 차단되지 않습니다. 반환된 IAsyncOperationWithProgress ( IBufferHttpProgress)는 전체 응답 본문을 읽은 후에 완료됩니다.

HttpClient 클래스는 종종 앱에서 텍스트를 다운로드한 다음 구문 분석하는 데 사용됩니다. HTTP 서버에서 Content-Type 헤더에 지정된 문자 인코딩이 HTTP 응답 본문의 문자 인코딩(예: XML 문서의 XML 인코딩)과 일치하지 않을 수 있습니다. 텍스트와 함께 HttpClient 를 사용하는 한 가지 방법은 GetStringAsync 메서드를 호출하고 반환된 문자열을 텍스트 파서에 전달하는 것입니다. 그러나 Content-Type 이 문자열로 표현할 수 있는 형식이 아닌 경우 오류가 발생할 수 있습니다. XML 파서와 함께 HttpClient 를 사용하는 신뢰할 수 있는 방법은 GetBufferAsync 메서드를 호출하고 "<?xml>" 요소에 대한 버퍼를 구문 분석하는 것입니다. 그런 다음 지정된 문자 인코딩("<xmlversion="1.0" encoding="UTF-8"?>")을 사용하여 HTTP 응답 본문을 구문 분석합니다. 다른 텍스트 형식의 경우 앱이 HTTP 응답 본문의 초기 부분을 검사하여 사용된 문자 인코딩을 확인하는 유사한 메서드를 사용할 수 있습니다.

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

E_INVALIDARG

uri 매개 변수는 null 참조(Visual Basic에서는 Nothing)였습니다.

적용 대상

추가 정보