Share via


完全和部分系結的控制碼

當您使用動態端點時,執行時間程式庫會視需要取得端點資訊。 執行時間程式庫會區分 完全系結的控制碼 (一個包含端點資訊) ,以及 部分系結的控制碼 (不包含端點資訊) 。

用戶端執行時間程式庫必須將部分系結控制碼轉換為完全系結的控制碼,用戶端才能系結至伺服器。 用戶端執行時間程式庫會藉由取得端點資訊,嘗試轉換用戶端應用程式的部分系結控制碼,如下所示:

  • 從用戶端的介面規格
  • 從伺服器上執行的端點對應服務

如果用戶端嘗試在介面規格中無法使用端點資訊時使用部分系結控制碼,而且伺服器的 endpoint-mapper 沒有伺服器端點的相關資訊,則用戶端沒有足夠的資訊進行遠端程序呼叫,而該呼叫將會失敗。 若要避免這種情況,當您的分散式應用程式使用部分系結控制碼時,您必須在端點對應程式中註冊端點。 如需端點對應程式的詳細資訊,請參閱 指定動態端點

當遠端過程呼叫失敗時,用戶端應用程式可以呼叫 RpcBindingReset 來移除過期的端點資訊。 當用戶端嘗試呼叫遠端程式時,用戶端執行時間程式庫會再次嘗試將完整系結控制碼轉換為部分系結控制碼。 當伺服器已停止並使用不同的動態端點重新開機時,這非常有用。