HttpClient.TryGetBufferAsync(Uri) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 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)
매개 변수
반환
비동기 작업을 나타내는 개체입니다.
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10, version 1903 (10.0.18362.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v8.0에서 도입되었습니다.)
|
설명
이 메서드는 일반적으로 작은 이미지 및 압축된 파일과 같은 이진 콘텐츠를 다운로드할 때 호출됩니다. 불필요한 버퍼링을 방지하려면 매우 큰 이진 콘텐츠를 HttpClient.TryGetInputStreamAsync 를 사용하여 스트림으로 다운로드해야 합니다.
이 작업은 차단되지 않습니다. 반환된 IAsyncOperationWithProgress ( HttpGetBufferResult 및 HttpProgress)는 전체 응답 본문을 읽은 후에 완료됩니다.
HttpClient 클래스는 종종 앱에서 텍스트를 다운로드한 다음 구문 분석하는 데 사용됩니다. HTTP 서버에서 Content-Type 헤더에 지정된 문자 인코딩이 HTTP 응답 본문의 문자 인코딩(예: XML 문서의 XML 인코딩)과 일치하지 않을 수 있습니다. 텍스트와 함께 HttpClient 를 사용하는 한 가지 방법은 TryGetStringAsync 메서드를 호출하고 반환된 문자열을 텍스트 파서에 전달하는 것입니다. 그러나 Content-Type 이 문자열로 표현할 수 있는 형식이 아닌 경우 오류가 발생할 수 있습니다. XML 파서와 함께 HttpClient 를 사용하는 신뢰할 수 있는 방법은 TryGetBufferAsync 메서드를 호출하고 "<?xml>" 요소에 대한 버퍼를 구문 분석하는 것입니다. 그런 다음 지정된 문자 인코딩("<xmlversion="1.0" encoding="UTF-8"?>")을 사용하여 HTTP 응답 본문을 구문 분석합니다. 다른 텍스트 형식의 경우 앱이 HTTP 응답 본문의 초기 부분을 검사하여 사용된 문자 인코딩을 확인하는 유사한 메서드를 사용할 수 있습니다.