Поделиться через


перечисление WS_LISTENER_PROPERTY_ID (webservices.h)

Каждое свойство прослушивателя имеет тип WS_LISTENER_PROPERTY, определяется идентификатором и имеет связанное значение. Если свойство не указано при создании прослушивателя, используется его значение по умолчанию.

Синтаксис

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
Используется с WsCreateListener или WsGetListenerProperty для WS_TCP_CHANNEL_BINDING.


Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является ULONG.

Это определяет максимальную длину очереди ожидающих подключений. Если задано значение
SOMAXCONN, невыполненная работа будет иметь максимально допустимое значение.
WS_LISTENER_PROPERTY_IP_VERSION
Значение: 1
Используется с WsCreateListener или WsGetListenerProperty для WS_TCP_CHANNEL_BINDING или WS_UDP_CHANNEL_BINDING.


Сопутствующий элемент значения структуры 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 прослушивателя. Возвращаемое значение является snapshot текущего состояния, поэтому оно равно
возможно, что состояние могло измениться до того, как вызывающий объект
имел возможность изучить значение.
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
Используется с WsCreateListener или WsGetListenerProperty для WS_TCP_CHANNEL_BINDING и WS_NAMEDPIPE_CHANNEL_BINDING.

Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является ULONG.

Ожидается операция принятия
для бесконечного количества времени, чтобы принять базовый сокет TCP или именованный канал. This
время ожидания соответствует количеству времени, выделенному для подтверждения net.tcp или net.pipe.
происходит между клиентом и службой после подключения клиента.
Значение времени ожидания — в миллисекундах, где значение INFINITE указывает
время ожидания отсутствует. Вы можете использовать кнопку
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT , чтобы задать соответствующий
значение на стороне клиента.


Значение по умолчанию — 15 000 (15 секунд).
WS_LISTENER_PROPERTY_IS_MULTICAST
Значение: 7
Используется с WsCreateListener или WsGetListenerProperty для WS_UDP_CHANNEL_BINDING с WS_CHANNEL_TYPE_DUPLEX , чтобы указать, что прослушиватель прослушивает адрес многоадресной рассылки.


Сопровождающий элемент значенияструктуры WS_LISTENER_PROPERTY является логическим значением.

Обратите внимание, что установка этого свойства недостаточно при прослушивании
адрес многоадресной рассылки. Также необходимо указать набор интерфейсов.
с помощью свойства WS_LISTENER_PROPERTY_MULTICAST_INTERFACES .


Канал не проверяет, является ли адрес на самом деле
адрес многоадресной рассылки, но он задает повторное использование сокета
таким образом, чтобы другой процесс также может открыть тот же порт.


Значение по умолчанию — FALSE.
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
Значение: 8
Используется с WsCreateListener или WsSetListenerProperty для WS_UDP_CHANNEL_BINDING с WS_CHANNEL_TYPE_DUPLEX.


Сопровождающий элемент значения структуры WS_LISTENER_PROPERTY представляет собой массив значений ULONG .

Размер свойства
имеет значение sizeof(ULONG), умноженное на количество значений. Каждое значение представляет
индекс интерфейса адаптера. Индексы адаптеров могут быть
получается с помощью функции GetAdaptersAddresses.


Это значение WS_LISTENER_PROPERTY_IS_MULTICAST
Для использования этого свойства свойство должно иметь значение TRUE .


Значением по умолчанию является пустой список (без интерфейсов).
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK
Значение: 9
Используется с WsCreateListener для WS_UDP_CHANNEL_BINDING
с WS_CHANNEL_TYPE_DUPLEX.


Сопровождающий элемент значенияструктуры WS_LISTENER_PROPERTY является логическим значением.

Это указывает, есть ли сообщения
, отправленные в интерфейсе замыкания на себя, принимаются этим каналом. Если задано значение TRUE,
затем сообщения будут получены (в противном случае они не будут видны каналу).


Это значение WS_LISTENER_PROPERTY_IS_MULTICAST
Для использования этого свойства свойство должно иметь значение TRUE .


Значение по умолчанию — TRUE.
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT
Значение: 10
Используется с WsCreateListener или WsGetListenerProperty для WS_HTTP_CHANNEL_BINDING с WS_CHANNEL_TYPE_REPLY.


Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является ULONG.

Указывает количество миллисекундах
дождитесь, пока клиенты получат данные из ответов при вызове WsCloseListener .


Цель этого времени ожидания — разрешить клиентам продолжить получение
данные из HTTP-ответов, отправленных сервером до отключения HTTP-сервера
клиентские подключения.


Используемое значение времени ожидания вычисляется следующим образом:



  • Во время вызова WsCloseListener определите
    время отправки последнего ответа (время последнего ответа). Для целей
    это вычисление времени ожидания, ответ записывается как отправленный после вызова WsWriteMessageEnd для ответа.

  • Вычислите разницу между текущим и последним временем отклика.

  • Если разница больше, чем значение времени ожидания, то фактическое значение
    Используемое время ожидания равно нулю.

  • Если разница меньше или равна значению времени ожидания, то
    фактическое используемое время ожидания — это значение времени ожидания за вычетом разницы.


Значение времени ожидания по умолчанию — 5000 (5 секунд).
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS
Значение: 11
Используется с WsCreateListener для WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING, WS_UDP_CHANNEL_BINDING или WS_NAMEDPIPE_CHANNEL_BINDING.


Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является ULONG.

Значение свойства содержит набор флагов (см. WS_URL_MATCHING_OPTIONS), которые
укажите, как сопоставить URL-адрес в WS_TO_HEADER всех полученных сообщений.


По умолчанию используется значение



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
Используется с WsCreateListener для WS_TCP_CHANNEL_BINDING или
WS_HTTP_CHANNEL_BINDING.


Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является ULONG.

Значение свойства содержит набор флагов (см. WS_URL_MATCHING_OPTIONS), которые
укажите, как сопоставить URL-адрес транспорта для всех принимаемых каналов. См.
WS_CHANNEL_PROPERTY_TRANSPORT_URL дополнительные сведения о 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>

Это свойство управляет проверкой только сообщения после его получения.
процессом, а не маршрутизацией сообщения в процесс (который определяется
url-адресом, переданным в WsOpenListener).
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS
Значение: 13
Используется с WsCreateListener для WS_CUSTOM_CHANNEL_BINDING.


Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является WS_CUSTOM_LISTENER_CALLBACKS структурой.

Это свойство используется для указания обратных вызовов, которые
определить реализацию пользовательского прослушивателя.


Это свойство должно быть указано при использовании WS_CUSTOM_CHANNEL_BINDING .
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS
Значение: 14
Используется с WsCreateListener для WS_CUSTOM_CHANNEL_BINDING.


Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является указателем на тип данных произвольного размера.
Размер свойства — это размер типа данных.


Это свойство используется для указания параметров, используемых для создания пользовательского
реализация прослушивателя.


Значение этого свойства будет передано в
WS_CREATE_LISTENER_CALLBACK.


Если это свойство не указано, его значение равно NULL , а размер равен нулю.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE
Значение: 15
Используется с WsGetChannelProperty для WS_CUSTOM_CHANNEL_BINDING.


Сопутствующий элемент значения структуры WS_LISTENER_PROPERTY является void*, а размер свойства — sizeof(void*).

Значение
соответствует значению listenerInstance, возвращаемому
WS_CREATE_LISTENER_CALLBACK.


Это свойство можно использовать для получения базового прослушивателя.
экземпляр для пользовательского прослушивателя. Это позволяет вызывающей объекту напрямую
взаимодействовать с экземпляром в случаях, когда существующий
набор свойств прослушивателя или функций прослушивателя недостаточен.
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT
Значение: 16
Используется с WsCreateListener для WS_HTTP_CHANNEL_BINDING.


Сопутствующий элемент значения структуры 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