채널(Windows 웹 서비스)

채널은 둘 이상의 당사자 간의 통신 컨텍스트를 캡슐화하며 메시지를 보내고 받는 데 사용됩니다.

클라이언트에서 WsCreateChannel 을 사용하여 채널을 만듭니다. 서버에서 WsCreateChannelForListener 를 사용하여 수신기를 사용하여 클라이언트에서 수락할 수 있는 채널을 만듭니다.

채널을 만들 때 채널의 로컬 동작과 사용할 유선 프로토콜을 모두 결정하는 다음 정보를 지정합니다.

채널을 사용하기 전에 WsOpenChannel 함수를 호출하고 채널 및 엔드포인트 주소를 다른 선택적 정보와 함께 지정하여 열어야 합니다.

채널의 상태 전환에 대한 자세한 내용은 채널 상태 항목을 참조하세요.

채널에 대한 자세한 내용은 채널 계층 개요 항목을 참조하세요.

다음 API 요소는 채널에서 사용됩니다.

콜백 설명
WS_ABANDON_MESSAGE_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsAbandonMessage 호출을 처리합니다.
WS_ABORT_CHANNEL_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsAbortChannel 호출을 처리합니다.
WS_CLOSE_CHANNEL_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsCloseChannel 호출을 처리합니다.
WS_CREATE_CHANNEL_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsCloseChannel 호출을 처리합니다.
WS_CREATE_DECODER_CALLBACK 디코더 인스턴스 만들기를 처리합니다.
WS_CREATE_ENCODER_CALLBACK 인코더 인스턴스 만들기를 처리합니다.
WS_DECODER_DECODE_CALLBACK 메시지를 디코딩합니다.
WS_DECODER_END_CALLBACK 메시지의 끝을 디코딩합니다.
WS_DECODER_GET_CONTENT_TYPE_CALLBACK 메시지의 콘텐츠 형식을 가져옵니다.
WS_DECODER_START_CALLBACK 메시지 디코딩을 시작합니다.
WS_ENCODER_ENCODE_CALLBACK 메시지를 인코딩합니다.
WS_ENCODER_END_CALLBACK 메시지의 끝을 인코딩합니다.
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK 메시지의 콘텐츠 형식을 가져옵니다.
WS_ENCODER_START_CALLBACK 메시지 인코딩을 시작합니다.
WS_FREE_CHANNEL_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsFreeChannel 호출을 처리합니다.
WS_FREE_DECODER_CALLBACK 디코더 인스턴스 해제를 처리합니다.
WS_FREE_ENCODER_CALLBACK 인코더 인스턴스 해제를 처리합니다.
WS_GET_CHANNEL_PROPERTY_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsGetChannelProperty 호출을 처리합니다.
WS_HTTP_REDIRECT_CALLBACK RFC2616에 설명된 대로 HTTP 자동 리디렉션 기능을 사용하여 메시지가 자동으로 다른 서비스로 리디렉션될 때 호출됩니다.
WS_OPEN_CHANNEL_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsOpenChannel 호출을 처리합니다.
WS_READ_MESSAGE_END_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsReadMessageEnd 호출을 처리합니다.
WS_READ_MESSAGE_START_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsReadMessageEnd 호출을 처리합니다.
WS_RESET_CHANNEL_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsResetChannel 호출을 처리합니다.
WS_SET_CHANNEL_PROPERTY_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsSetChannelProperty 호출을 처리합니다.
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsShutdownSessionChannel 호출을 처리합니다.
WS_WRITE_MESSAGE_END_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsWriteMessageEnd 호출을 처리합니다.
WS_WRITE_MESSAGE_START_CALLBACK 사용자 지정 채널 바인딩이 있는 채널에 대한 WsWriteMessageStart 호출을 처리합니다.

 

열거형 설명
WS_CHANNEL_BINDING 채널에 사용할 프로토콜 스택을 나타냅니다.
WS_CHANNEL_PROPERTY_ID ID로 각 채널 속성을 식별합니다.
WS_CHANNEL_STATE 채널의 상태입니다.
WS_CHANNEL_TYPE 세션용인지 여부 및 지원되는 통신 방향과 같은 채널의 기본 특성을 나타냅니다.
WS_ENCODING 다른 인코딩(메시지 형식)입니다.
WS_RECEIVE_OPTION 채널에서 수신할 때 메시지가 필요한지 여부를 지정합니다.
WS_TRANSFER_MODE 전송되거나 수신된 메시지가 스트리밍되거나 버퍼링되는지 여부를 지정합니다.

 

함수 설명
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 .