채널(Windows 웹 서비스)
채널은 둘 이상의 당사자 간의 통신 컨텍스트를 캡슐화하며 메시지를 보내고 받는 데 사용됩니다.
클라이언트에서 WsCreateChannel 을 사용하여 채널을 만듭니다. 서버에서 WsCreateChannelForListener 를 사용하여 수신기를 사용하여 클라이언트에서 수락할 수 있는 채널을 만듭니다.
채널을 만들 때 채널의 로컬 동작과 사용할 유선 프로토콜을 모두 결정하는 다음 정보를 지정합니다.
- 채널의 메시지 교환 패턴을 식별하는 WS_CHANNEL_TYPE.
- 사용할 전송 프로토콜을 식별하는 WS_CHANNEL_BINDING.
- 채널에 사용되는 보안을 지정하는 WS_SECURITY_DESCRIPTION. 서버에서 사용할 채널을 만들 때 지정된 수신기에 대해 허용되는 모든 채널에 대해 한 번 지정됩니다.
- 추가 선택적 설정을 지정하는 집합 WS_CHANNEL_PROPERTY(이러한 설정 목록은 WS_CHANNEL_PROPERTY_ID 열거형 참조).
채널을 사용하기 전에 WsOpenChannel 함수를 호출하고 채널 및 엔드포인트 주소를 다른 선택적 정보와 함께 지정하여 열어야 합니다.
채널의 상태 전환에 대한 자세한 내용은 채널 상태 항목을 참조하세요.
채널에 대한 자세한 내용은 채널 계층 개요 항목을 참조하세요.
다음 API 요소는 채널에 사용됩니다.
열거형 | 설명 |
---|---|
WS_CHANNEL_BINDING | 채널에 사용할 프로토콜 스택을 나타냅니다. |
WS_CHANNEL_PROPERTY_ID | ID로 각 채널 속성을 식별합니다. |
WS_CHANNEL_STATE | 채널의 상태입니다. |
WS_CHANNEL_TYPE | 세션인지 여부 및 지원되는 통신 방향과 같은 채널의 기본 특성을 나타냅니다. |
WS_ENCODING | 다양한 인코딩(메시지 형식)입니다. |
WS_RECEIVE_OPTION | 채널에서 수신할 때 메시지가 필요한지 여부를 지정합니다. |
WS_TRANSFER_MODE | 전송되거나 수신된 메시지가 스트리밍되거나 버퍼링되는지 여부를 지정합니다. |
함수 | Description |
---|---|
WsAbandonMessage | 채널에 대한 메시지의 나머지 부분을 건너뜁니다. |
WsAbortChannel | 지정된 채널에서 보류 중인 모든 I/O를 중단하고 채널 상태를 WS_CHANNEL_STATE_FAULTED 설정합니다. |
WsCloseChannel | 더 이상 필요하지 않은 채널을 닫습니다. |
WsCreateChannel | 채널을 만듭니다. |
WsCreateChannelForListener | 수신기에 대한 채널을 만듭니다. |
WsFreeChannel | 채널과 연결된 메모리 리소스를 해제합니다. |
WsGetChannelProperty | 채널 매개 변수에서 참조하는 채널의 속성을 검색합니다. |
WsOpenChannel | 엔드포인트에 대한 채널을 엽니다. |
WsReadMessageEnd | 채널에서 메시지의 닫는 요소를 읽습니다. |
WsReadMessageStart | 채널에서 다음 메시지의 헤더를 읽고 본문 요소를 읽을 준비를 합니다. |
WsReceiveMessage | 메시지를 수신하고 메시지 본문을 값으로 역직렬화합니다. |
WsRequestReply | 요청 메시지를 보내고 상관 관계가 있는 회신 메시지를 받습니다. |
WsResetChannel | 다시 사용할 수 있도록 채널을 다시 설정합니다. |
WsSendMessage | serialization을 사용하여 본문 요소를 작성하는 채널에 메시지를 보냅니다. |
WsSendReplyMessage | 받은 메시지에 대한 회신인 메시지를 보냅니다. |
WsSetChannelProperty | 채널의 속성을 설정합니다. |
WsSetMessageProperty | 메시지의 속성을 설정합니다. |
WsWriteMessageEnd | 메시지의 닫는 요소를 채널에 씁니다. |
WsWriteMessageStart | 메시지의 헤더를 채널에 쓰고 본문 요소를 작성할 준비를 합니다. |
Handle | 설명 |
---|---|
WS_CHANNEL | 채널을 참조하는 데 사용되는 불투명 형식입니다. |
구조체 | 설명 |
---|---|
WS_CHANNEL_DECODER | 수신된 메시지의 콘텐츠 형식 및 인코딩된 바이트를 변환하는 콜백 집합입니다. |
WS_CHANNEL_ENCODER | 전송된 메시지의 콘텐츠 형식 및 인코딩된 바이트를 변환할 수 있는 콜백 집합입니다. |
WS_CHANNEL_PROPERTIES | WS_CHANNEL_PROPERTY 구조체 집합입니다. |
WS_CHANNEL_PROPERTY | 채널별 설정입니다. |
WS_CUSTOM_CHANNEL_CALLBACKS | 사용자 지정 채널의 구현을 형성하는 콜백 집합입니다. |
WS_CUSTOM_HTTP_PROXY | WS_CHANNEL_PROPERTY_ID 열거형의 WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY 값을 사용하여 채널에 대한 사용자 지정 프록시를 지정하는 데 사용됩니다. |
WS_HTTP_HEADER_MAPPING | WS_HTTP_MESSAGE_MAPPING 일부로 매핑되는 개별 헤더를 나타냅니다. |
WS_HTTP_MESSAGE_MAPPING | 메시지 개체에서 HTTP 요청 또는 응답을 나타내는 방법에 대한 정보입니다. |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | HTTP 자동 리디렉션 동작을 제어하기 위한 콜백 함수 및 상태를 지정합니다. |
WS_MESSAGE_DESCRIPTION | 입력 및 출력에 대한 스키마는 지정된 작업 설명에 대한 WS_MESSAGE . |