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


Адрес конечной точки

Адрес конечной точки представляет адрес службы в сети. При открытии каналапутем вызова функции WsOpenChannel необходимо указать адрес конечной точки службы, с которой вы хотите связаться, а также указать канал, с которым вы хотите открыть.

Адрес конечной точки состоит из следующих элементов:

  • URL-адрес
  • набор заголовков (необязательно)
  • набор расширений (необязательно)
  • необязательное удостоверение , представляющее удостоверение безопасности службы.

При адресе сообщения URL-адрес становится заголовком "To" сообщения. Все заголовки, которые являются частью адреса конечной точки, также добавляются в сообщение.

диаграмме с заголовками адресов конечной точки, добавляемых в сообщение.

Каналы автоматически устраняют все отправленные сообщения, используя структуру WS_ENDPOINT_ADDRESS, переданную WsOpenChannel. Вы также можете использовать функциюWsAddressMessageдля переопределения этого поведения по умолчанию.

При передаче WS_ENDPOINT_ADDRESS в качестве параметра WsOpenChannel и функции WsOpenServicePr oxy создают копию параметра WS_ENDPOINT_ADDRESS в памяти и его размер ограничен 65536 байтами. WsAddressMessage не имеет этого ограничения, так как для этого не требуется создание копии параметра WS_ENDPOINT_ADDRESS.

Расширения, указанные в расширенияхWS_ENDPOINT_ADDRESS, не используются для адресации сообщения, а являются механизмом расширяемости, который можно использовать для предоставления дополнительных сведений (например, метаданных) о службе. Общие расширения можно считывать с помощью функции WsReadEndpointAddressExtension.

Необязательное поле удостоверения адреса конечной точки может включать, например, DNS-имя компьютера, на котором выполняется служба, или имя участника-пользователя учетной записи Windows, в которой выполняется служба. Поле удостоверения не используется для адресации сообщения, но может использоваться для получения маркера безопасности для службы (например, для получения билета Kerberos в целевое имя участника-пользователя) и для проверки удостоверения ответов службы (например, DNS-удостоверение, используемое для проверки имени сертификата службы, возвращаемого во время SSL).

Адреса конечных точек можно считывать и записывать с помощью сериализации со значением перечисления WS_ENDPOINT_ADDRESS_TYPE из WS_TYPE. Чтобы сериализовать адрес конечной точки, необходимо знать версию спецификации, используемой для заголовков адресации, как указано в перечислении WS_ADDRESSING_VERSION.