Udostępnij za pośrednictwem


Adres punktu końcowego

Adres punktu końcowego reprezentuje adres usługi w sieci. Po otwarciu kanałuprzez wywołanie funkcji WsOpenChannel należy podać adres punktu końcowego usługi, z którą chcesz się komunikować, a także określić kanał, z którym chcesz otworzyć.

Adres punktu końcowego składa się z:

  • adresu URL
  • zestaw nagłówków (opcjonalnie)
  • zestaw rozszerzeń (opcjonalnie)
  • opcjonalna tożsamość reprezentująca tożsamość zabezpieczeń usługi.

Po adresie komunikatu adres URL staje się nagłówkiem "Do" komunikatu. Wszystkie nagłówki będące częścią adresu punktu końcowego są również dodawane do komunikatu.

Diagram przedstawiający nagłówki adresów punktu końcowego dodawane do komunikatu.

Kanały automatycznie adresują wszystkie wysyłane komunikaty przy użyciu struktury WS_ENDPOINT_ADDRESS przekazanej do WsOpenChannel. Możesz również użyć funkcji WsAddressMessage, aby zastąpić to domyślne zachowanie.

Gdy WS_ENDPOINT_ADDRESS jest przekazywany jako parametr, funkcja WsOpenChannel i WsOpenServicePr oxy tworzy kopię parametru WS_ENDPOINT_ADDRESS w pamięci, a jego rozmiar jest ograniczony przez 65536 bajtów. WsAddressMessage nie ma tego ograniczenia, ponieważ nie wymaga utworzenia kopii parametru WS_ENDPOINT_ADDRESS.

Rozszerzenia określone w rozszerzeniach pola WS_ENDPOINT_ADDRESS nie są używane do adresowania komunikatu, ale zamiast tego są mechanizmem rozszerzalności, który może służyć do dostarczania dodatkowych informacji (na przykład metadanych) dotyczących usługi. Typowe rozszerzenia można odczytać za pomocą funkcji WsReadEndpointAddressExtension.

Opcjonalne pole tożsamości adresu punktu końcowego może obejmować na przykład nazwę DNS maszyny, na której działa usługa, lub nazwę UPN konta systemu Windows, w ramach którego działa usługa. Pole tożsamości nie jest używane w adresowaniu komunikatu, ale może służyć do uzyskiwania tokenu zabezpieczającego dla usługi (na przykład w celu uzyskania biletu Kerberos do docelowej nazwy UPN) i weryfikacji tożsamości odpowiedzi usługi (na przykład tożsamości DNS używanej do sprawdzania nazwy certyfikatu usługi zwróconego podczas protokołu SSL).

Adresy punktów końcowych można odczytywać i zapisywać przy użyciu serializacji z wartością wyliczania WS_ENDPOINT_ADDRESS_TYPE z WS_TYPE. Aby serializować adres punktu końcowego, należy znać wersję specyfikacji używanej dla nagłówków adresowania, jak określono w wyliczeniem WS_ADDRESSING_VERSION.