Freigeben über


Endpunktadresse

Eine Endpunktadresse stellt die Adresse eines Diensts im Netzwerk dar. Wenn Sie einen Kanalöffnen, müssen Sie durch Aufrufen der WsOpenChannel--Funktion die Endpunktadresse des Diensts angeben, mit dem Sie kommunizieren möchten, sowie den Kanal angeben, mit dem Sie öffnen möchten.

Eine Endpunktadresse besteht aus:

  • eine URL-
  • eine Gruppe von Kopfzeilen (optional)
  • eine Gruppe von Erweiterungen (optional)
  • eine optionale Identität, die die Sicherheitsidentität des Diensts darstellt.

Wenn eine Nachricht adressiert wird, wird die URL zur Kopfzeile der Nachricht. Alle Kopfzeilen, die Teil der Endpunktadresse sind, werden auch der Nachricht hinzugefügt.

Diagramm mit Endpunktadressheadern, die einer Nachricht hinzugefügt werden.

Kanäle adressieren automatisch alle gesendeten Nachrichten mithilfe der WS_ENDPOINT_ADDRESS Struktur, die an die WsOpenChannel-übergeben wurde. Sie können auch die WsAddressMessage--Funktion verwenden, um dieses Standardverhalten außer Kraft zu setzen.

Wenn WS_ENDPOINT_ADDRESS als Parameter übergeben wird, erstellen die WsOpenChannel- und WsOpenServiceProxy- Funktionen eine Kopie des WS_ENDPOINT_ADDRESS Parameters im Arbeitsspeicher, und ihre Größe ist um 65536 Byte begrenzt. WsAddressMessage- hat diese Einschränkung nicht, da keine Kopie des WS_ENDPOINT_ADDRESS Parameters erstellt werden muss.

Die in den Erweiterungen angegebenen Erweiterungen Feld der WS_ENDPOINT_ADDRESS werden nicht für die Adressierung der Nachricht verwendet, sondern sind ein Erweiterungsmechanismus, der verwendet werden kann, um zusätzliche Informationen (z. B. Metadaten) zum Dienst bereitzustellen. Allgemeine Erweiterungen können mit der WsReadEndpointAddressExtension--Funktion gelesen werden.

Das optionale Identitätsfeld der Endpunktadresse kann z. B. den DNS-Namen des Computers, auf dem der Dienst ausgeführt wird, oder den UPN des Windows-Kontos enthalten, unter dem der Dienst ausgeführt wird. Das Identitätsfeld wird nicht für die Adressierung der Nachricht verwendet, kann jedoch zum Abrufen eines Sicherheitstokens für den Dienst verwendet werden (z. B. zum Abrufen eines Kerberos-Tickets für den Ziel-UPN) und zum Überprüfen der Identität der Dienstantworten (z. B. eine DNS-Identität, die für Namensüberprüfungen des während SSL zurückgegebenen Dienstzertifikats verwendet wird).

Endpunktadressen können mithilfe Serialisierung mit dem WS_ENDPOINT_ADDRESS_TYPE Enumerationswert aus WS_TYPEgelesen und geschrieben werden. Beachten Sie, dass Sie zum Serialisieren einer Endpunktadresse die Version der Spezifikation kennen müssen, die für die Adressheader verwendet wird, wie in der WS_ADDRESSING_VERSION-Enumeration angegeben.