다음을 통해 공유


IHttpFilter 인터페이스

정의

HttpClient instance 대한 사용자 지정 필터를 구현하는 데 사용되는 인터페이스입니다.

public interface class IHttpFilter : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2764795349, 2306, 17310, 191, 215, 225, 37, 82, 177, 101, 206)]
struct IHttpFilter : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(2764795349, 2306, 17310, 191, 215, 225, 37, 82, 177, 101, 206)]
public interface IHttpFilter : System.IDisposable
Public Interface IHttpFilter
Implements IDisposable
파생
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

IHttpFilter 인터페이스는 HttpClient instance 대한 사용자 지정 필터를 개발하는 데 사용됩니다. 사용자 지정 필터는 해당 IHttpFilter 인터페이스의 SendRequestAsync 메서드에서 구현됩니다.

Windows.Web.Http 네임스페이스의 클래스는 Windows.Web.Http.Filters 네임스페이스의 클래스를 기반으로 필터 사용을 지원합니다. Windows.Web.Http 네임스페이스의 HttpClient 클래스는 HTTP 요청을 보내고 HTTP 응답을 수신하기 위한 기본 클래스를 제공합니다. 필터는 일반적인 HTTP 서비스 문제에 도움이 되는 처리기 메커니즘을 제공합니다. 더 복잡한 HTTP 서비스 문제를 처리하기 위해 간단한 필터를 시퀀스로 함께 연결할 수 있습니다.

HTTP 필터는 HTTP 요청 메시지를 받아 HTTP 응답 메시지를 생성하는 블랙박스입니다. 필터가 HTTP 응답을 가져오는 방법은 필터 개발자가 결정합니다. 앱은 즉시 응답을 만들 수 있고, TCP를 통해 요청을 서버에 보낼 수 있으며, 응답 메시지를 생성하기 전에 서버(또는 둘 이상의 서버)에 여러 요청을 보낼 수도 있습니다. 필터가 응답 메시지에 액세스하는 방법을 지정하지 않으므로 필터는 요청 메시지를 다른 필터(내부 필터라고 함)에 전달하여 내부 필터에 대한 응답 메시지 생성을 위임할 수 있습니다.

필터는 일반적으로 헤더를 추가하거나 변경하거나, 권한 부여( WebAuthenticationBroker 사용)를 처리하거나, 네트워크 조건에 따라 요청을 허용하거나 허용하지 않습니다. 필터는 일반적으로 변경한 다음 내부 필터에 요청을 전달합니다. 이 필터는 일반적으로 필터가 생성될 때 설정됩니다.

이 방법을 사용하면 필터가 HTTP 요청 실행의 특정 측면만 담당하고 다른 측면을 다른 필터에 위임할 수 있습니다. 필터는 캐싱, 인증, 리디렉션, 쿠키, 서버와의 실제 통신 또는 이들 조합을 구현할 수 있습니다. 가장 낮은(기본) 필터는 일반적으로 네트워크와의 실제 통신을 수행하는 필터입니다.

개발자는 사이트별 문제에 대한 자체 필터를 작성할 수 있습니다. 예를 들어 일부 사이트에서는 503(서비스를 사용할 수 없음) 응답을 사용하여 요청을 다시 시도해야 함을 나타냅니다. 이 동작을 감지하고 그에 따라 응답하기 위해 사용자 지정 필터를 구현할 수 있습니다. 또 다른 예제에서는 네트워크를 통해 데이터를 전송하는 Windows.Web.HttpWindows.Web.Http.Filters 네임스페이스의 메서드를 처리할 수 있으며 네트워크 오류로 인해 예외가 발생합니다(예: 비행기 모드에서 네트워크 연결이 끊김). 사용자 지정 필터는 catch 네트워크 예외를 변경하고 HTTP 상태 코드로 변환할 수 있습니다.

메서드

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

SendRequestAsync(HttpRequestMessage)

IHttpFilter instance HTTP 요청을 비동기 작업으로 보냅니다.

적용 대상

추가 정보