WS_LISTENER_PROPERTY_ID 열거형(webservices.h)

각 수신기 속성은 WS_LISTENER_PROPERTY 형식이고 ID로 식별되며 연결된 값을 가집니다. 수신기를 만들 때 속성을 지정하지 않으면 기본값이 사용됩니다.

Syntax

typedef enum {
  WS_LISTENER_PROPERTY_LISTEN_BACKLOG = 0,
  WS_LISTENER_PROPERTY_IP_VERSION = 1,
  WS_LISTENER_PROPERTY_STATE = 2,
  WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL = 3,
  WS_LISTENER_PROPERTY_CHANNEL_TYPE = 4,
  WS_LISTENER_PROPERTY_CHANNEL_BINDING = 5,
  WS_LISTENER_PROPERTY_CONNECT_TIMEOUT = 6,
  WS_LISTENER_PROPERTY_IS_MULTICAST = 7,
  WS_LISTENER_PROPERTY_MULTICAST_INTERFACES = 8,
  WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK = 9,
  WS_LISTENER_PROPERTY_CLOSE_TIMEOUT = 10,
  WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS = 11,
  WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS = 12,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS = 13,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS = 14,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE = 15,
  WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT = 16
} WS_LISTENER_PROPERTY_ID;

상수

 
WS_LISTENER_PROPERTY_LISTEN_BACKLOG
값: 0
WS_TCP_CHANNEL_BINDING WsCreateListener 또는 WsGetListenerProperty와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 ULONG입니다.

이렇게 하면 보류 중인 연결 큐의 최대 길이가 제어됩니다. 로 설정된 경우
SOMAXCONN, 백로그는 최대 적절한 값으로 설정됩니다.
WS_LISTENER_PROPERTY_IP_VERSION
값: 1
WS_TCP_CHANNEL_BINDING 또는 WS_UDP_CHANNEL_BINDINGWsCreateListener 또는 WsGetListenerProperty와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 WS_IP_VERSION 값입니다.

이 속성은 수신기에서 사용해야 하는 IP 버전을 지정합니다.


기본값은 WS_IP_VERSION_AUTO.
WS_LISTENER_PROPERTY_STATE
값: 2
모든 채널 유형 에 대해 WsGetListenerProperty 와 함께 사용됩니다.



WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 WS_LISTENER_STATE 값입니다.

수신기의 현재 WS_LISTENER_STATE 반환합니다. 반환된 값은 현재 상태의 스냅샷 이므로
호출자가 갖기 전에 상태가 변경되었을 수 있음
값을 검사할 기회가 있었습니다.
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL
값: 3
모든 채널 유형에 대해 WsCreateListener 또는 WsGetListenerProperty 와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 WS_CALLBACK_MODEL 값입니다.

이 값은 발급 시 기본 비동기 콜백 모델을 나타냅니다.
수신기 또는 해당 수신기에 대해 생성된 채널에 대한 비동기 작업
WsCreateChannelForListener를 사용합니다.


기본값은 WS_LONG_CALLBACK.


WS_SERVICE_HOST 허용 가능한 값으로만 WS_LONG_CALLBACK 지원합니다.
이 속성에 대한 입니다.
WS_LISTENER_PROPERTY_CHANNEL_TYPE
값: 4
모든 채널 유형 에 대해 WsGetListenerProperty 와 함께 사용됩니다.

WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 WS_CHANNEL_TYPE 값입니다.

이 속성
는 사용 중인 채널의 메시지 교환 패턴을 지정합니다.
WS_LISTENER_PROPERTY_CHANNEL_BINDING
값: 5
모든 채널 유형 에 대해 WsGetListenerProperty 와 함께 사용됩니다.

WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 WS_CHANNEL_BINDING 값입니다.

이 속성
는 사용 중인 채널의 바인딩을 지정합니다.
WS_LISTENER_PROPERTY_CONNECT_TIMEOUT
값: 6
WS_TCP_CHANNEL_BINDING 및 WS_NAMEDPIPE_CHANNEL_BINDINGWsCreateListener 또는 WsGetListenerProperty와 함께 사용됩니다.

WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 ULONG입니다.

수락 작업이 대기합니다.
기본 TCP 소켓 또는 명명된 파이프를 수락하는 데 시간이 무한합니다. 이번
시간 제한은 net.tcp 또는 net.pipe 핸드셰이크 전용 시간에 해당합니다.
클라이언트가 연결되면 클라이언트와 서비스 간에 발생하는 입니다.
시간 제한 값은 밀리초 단위이며, 여기서 INFINITE 값은
시간 제한이 없습니다. 화면 오른쪽에 있는
해당 를 설정하는 WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT
클라이언트 쪽의 값입니다.


기본값은 15000(15초)입니다.
WS_LISTENER_PROPERTY_IS_MULTICAST
값: 7
수신기가 멀티캐스트 주소에서 수신 대기 중임을 나타내기 위해 WS_CHANNEL_TYPE_DUPLEX WS_UDP_CHANNEL_BINDINGWsCreateListener 또는 WsGetListenerProperty와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 BOOL입니다.

수신 대기할 때 이 속성을 설정하는 것으로는 충분하지 않습니다.
멀티캐스트 주소입니다. 인터페이스 집합도 지정해야 합니다.
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES 속성을 사용합니다.


채널은 주소가 실제로 임을 확인하지 않습니다.
멀티캐스트 주소이지만 소켓의 재사용을 설정합니다.
다른 프로세스에서 동일한 포트를 열 수도 있습니다.


기본값은 FALSE입니다.
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
값: 8
WS_CHANNEL_TYPE_DUPLEX WS_UDP_CHANNEL_BINDING WsCreateListener 또는 WsSetListenerProperty와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 ULONG 값의 배열입니다.

속성의 크기
는 sizeof(ULONG)에 값 수를 곱합니다. 각 값은
어댑터의 인터페이스 인덱스입니다. 어댑터의 인덱스는
GetAdaptersAddresses 함수를 사용하여 가져옵니다.


이 값은 WS_LISTENER_PROPERTY_IS_MULTICAST
이 속성을 사용하려면 속성이 TRUE 여야 합니다.


기본값은 빈 목록(인터페이스 없음)입니다.
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK
값: 9
WS_UDP_CHANNEL_BINDING WsCreateListener와 함께 사용됨
WS_CHANNEL_TYPE_DUPLEX.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 BOOL입니다.

이는 메시지 여부를 나타냅니다.
루프백 인터페이스에서 전송된 는 이 채널에서 수신됩니다. TRUE이면
메시지가 수신됩니다(그렇지 않으면 채널에서 볼 수 없음).


이 값은 WS_LISTENER_PROPERTY_IS_MULTICAST
이 속성을 사용하려면 속성이 TRUE 여야 합니다.


기본값은 TRUE입니다.
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT
값: 10
WS_CHANNEL_TYPE_REPLY WS_HTTP_CHANNEL_BINDING WsCreateListener 또는 WsGetListenerProperty와 함께사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 ULONG입니다.

이는 의 시간(밀리초)을 나타냅니다.
WsCloseListener가 호출될 때 클라이언트가 응답에서 데이터를 받을 때까지 기다립니다.


이 시간 제한의 목적은 클라이언트가 계속 수신할 수 있도록 하는 것입니다.
HTTP 서버 연결이 끊기기 전에 서버에서 보낸 HTTP 응답의 데이터
클라이언트 연결입니다.


사용된 시간 제한 값의 계산은 다음과 같습니다.



  • WsCloseListener가 호출되는 시점에 다음을 확인합니다.
    마지막 응답이 전송된 시간(마지막 응답 시간)입니다. 의 목적에 따라
    이 시간 제한 계산에서는 응답에 대해 WsWriteMessageEnd 가 호출되면 응답이 전송된 것으로 기록됩니다.

  • 현재 시간과 마지막 응답 시간의 차이를 계산합니다.

  • 차이가 시간 제한 값보다 큰 경우 실제 값입니다.
    사용된 시간 제한은 0입니다.

  • 차이가 시간 제한 값보다 작거나 같으면
    사용된 실제 시간 제한은 시간 제한 값에서 차이를 뺀 값입니다.


기본 시간 제한 값은 5000(5초)입니다.
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS
값: 11
WS_TCP_CHANNEL_BINDING WsCreateListener와 함께 사용됨
WS_HTTP_CHANNEL_BINDING, WS_UDP_CHANNEL_BINDING 또는 WS_NAMEDPIPE_CHANNEL_BINDING.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 ULONG입니다.

속성 값에는 플래그 집합이 포함되어 있습니다( WS_URL_MATCHING_OPTIONS 참조).
받은 메시지의 WS_TO_HEADER URL과 일치하는 방법을 지정합니다.


기본값은 다음과 같습니다.



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>
WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS
값: 12
WS_TCP_CHANNEL_BINDING 또는 에 WsCreateListener와 함께 사용됨
WS_HTTP_CHANNEL_BINDING.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 ULONG입니다.

속성 값에는 플래그 집합이 포함되어 있습니다( WS_URL_MATCHING_OPTIONS 참조).
허용된 채널의 전송 URL과 일치하는 방법을 지정합니다. 참조
전송 URL에 대한 자세한 내용은 WS_CHANNEL_PROPERTY_TRANSPORT_URL.


기본값은 다음과 같습니다.



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>

이 속성은 메시지가 수신된 후에만 메시지 확인을 제어합니다.
프로세스에 대한 메시지 라우팅이 아니라 프로세스에 의해 결정됩니다.
WsOpenListener에 전달된 URL로)
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS
값: 13
WS_CUSTOM_CHANNEL_BINDING WsCreateListener와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 WS_CUSTOM_LISTENER_CALLBACKS 구조체입니다.

이 속성은 콜백을 지정하는 데 사용됩니다.
는 사용자 지정 수신기의 구현을 정의합니다.


이 속성은 WS_CUSTOM_CHANNEL_BINDING 사용할 때 지정해야 합니다.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS
값: 14
WS_CUSTOM_CHANNEL_BINDING WsCreateListener와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 임의의 크기의 데이터 형식에 대한 포인터입니다.
속성의 크기는 데이터 형식의 크기입니다.


이 속성은 사용자 지정을 만드는 데 사용되는 매개 변수를 지정하는 데 사용됩니다.
수신기 구현.


이 속성의 값은 에 전달됩니다.
WS_CREATE_LISTENER_CALLBACK.


이 속성을 지정하지 않으면 해당 값은 NULL 이고 크기는 0입니다.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE
값: 15
WS_CUSTOM_CHANNEL_BINDING WsGetChannelProperty와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 void*이며 속성 크기는 sizeof(void*)입니다.


는 에서 반환하는 listenerInstance 값에 해당합니다.
WS_CREATE_LISTENER_CALLBACK.


이 속성을 사용하여 기본 수신기를 가져올 수 있습니다.
사용자 지정 수신기에 대한 instance. 이렇게 하면 호출자가 직접 작업할 수 있습니다.
기존 사례에 대해 instance 상호 작용
수신기 속성 또는 수신기 함수 집합이 부족합니다.
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT
값: 16
WS_HTTP_CHANNEL_BINDING WsCreateListener와 함께 사용됩니다.


WS_LISTENER_PROPERTY 구조체의 함께 제공되는 멤버는 허용되지 않는 사용자 목록을 지정하는 WS_DISALLOWED_USER_AGENT_SUBSTRINGS 대한 포인터입니다.
에이전트 하위 문자열입니다.

  • HTTP 요청을 받으면 UserAgent 헤더 값이 추출됩니다.

  • 목록의 각 하위 문자열은 추출된 UserAgent 문자열 값에서 검색됩니다.

  • 부분 문자열이 발견되면 요청이 거부됩니다.




기본적으로 목록에는 다음 항목이 포함됩니다.

  • 웹 브라우저: Mozilla




이 속성은 WS_ENCODING_RAW 인코딩으로 구성된 수신기에는 적용되지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
머리글 webservices.h