W pełni i częściowo powiązane dojścia
W przypadku korzystania z dynamicznych punktów końcowych biblioteki czasu wykonywania uzyskują informacje o punkcie końcowym, ponieważ są one potrzebne. Biblioteki czasu wykonywania umożliwiają rozróżnienie między w pełni powiązanym dojściem (zawierającym informacje o punkcie końcowym) a częściowo powiązanym dojściem (taki, który nie zawiera informacji o punkcie końcowym).
Biblioteka czasu wykonywania klienta musi przekonwertować częściowo powiązana dojścia do w pełni powiązanego dojścia, zanim klient będzie mógł powiązać z serwerem. Biblioteka czasu wykonywania klienta próbuje przekonwertować częściowo powiązane dojście dla aplikacji klienckiej, uzyskując informacje o punkcie końcowym, jak pokazano poniżej:
- Z poziomu specyfikacji interfejsu klienta
- Z usługi mapowania punktów końcowych uruchomionej na serwerze
Jeśli klient spróbuje użyć częściowo powiązanego dojścia, gdy informacje o punkcie końcowym nie są dostępne w specyfikacji interfejsu, a maper punktów końcowych serwera nie ma informacji o punkcie końcowym serwera, klient nie będzie miał wystarczającej ilości informacji, aby wykonać zdalne wywołanie procedury i to wywołanie zakończy się niepowodzeniem. Aby temu zapobiec, należy zarejestrować punkt końcowy w mapowaniu punktu końcowego, gdy aplikacja rozproszona używa częściowo powiązanych dojść. Aby uzyskać więcej informacji na temat mapowania punktów końcowych, zobacz Określanie dynamicznych punktów końcowych.
Gdy zdalne wywołanie procedury zakończy się niepowodzeniem, aplikacja kliencka może wywołać RpcBindingReset, aby usunąć nieaktualne informacje o punkcie końcowym. Gdy klient spróbuje wywołać procedurę zdalną, biblioteka uruchomieniowa klienta ponownie spróbuje przekonwertować w pełni powiązane dojścia do częściowo powiązanego dojścia. Jest to przydatne, gdy serwer został zatrzymany i uruchomiony ponownie przy użyciu innego dynamicznego punktu końcowego.