다음을 통해 공유


HttpClient.TryGetBufferAsync(Uri) 메서드

정의

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

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

매개 변수

uri
Uri Uri

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

반환

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

특성

Windows 요구 사항

디바이스 패밀리
Windows 10, version 1903 (10.0.18362.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v8.0에서 도입되었습니다.)

설명

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

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

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

적용 대상

추가 정보