MetadataResolver.BeginResolve 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
開始一個非同步呼叫,將一個元資料位址解析為該服務的物件集合 ServiceEndpoint 。
多載
備註
這些方法開始了方法的 Resolve 非同步版本。
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object)
開始一個非同步呼叫,將一個元資料位址解析成 ServiceEndpoint 指定合約的物件,使用指定的位址、非同步狀態與代理。
public:
static IAsyncResult ^ BeginResolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, System::ServiceModel::EndpointAddress ^ address, AsyncCallback ^ callback, System::Object ^ asyncState);
public static IAsyncResult BeginResolve(System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, System.ServiceModel.EndpointAddress address, AsyncCallback callback, object asyncState);
static member BeginResolve : seq<System.ServiceModel.Description.ContractDescription> * System.ServiceModel.EndpointAddress * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (contracts As IEnumerable(Of ContractDescription), address As EndpointAddress, callback As AsyncCallback, asyncState As Object) As IAsyncResult
參數
- contracts
- IEnumerable<ContractDescription>
下載和解析元資料的合約。
- address
- EndpointAddress
元資料位址。
- callback
- AsyncCallback
非同步回撥代理在通話完成時會被呼叫。
- asyncState
- Object
與非同步通話相關的狀態。
傳回
那 IAsyncResult 就是非同步解析操作。
例外狀況
地址、合約或回撥為 null。
contracts 為空,至少有一個成員 contracts 為 null,或 contracts 包含多個名稱與命名空間相同的合約。
備註
預設 System.ServiceModel.Description.MetadataExchangeClient 設定用於擷取元資料,預設 System.ServiceModel.Description.MetadataExchangeClientMode 為 MetadataExchangeClientMode.MetadataExchange。
若要下載元資料但不將資訊解析成ServiceEndpoint物件,請直接使用System.ServiceModel.Description.MetadataExchangeClient
Note
若未匯入端點或無端點與合約匹配,則回傳空集合。 若回傳空集合,則會寫入警告追蹤。
適用於
BeginResolve(Type, EndpointAddress, AsyncCallback, Object)
開始一個非同步呼叫,將一個元資料位址解析成指定合約的物件, ServiceEndpoint 使用指定的位址及非同步狀態與委派。
public:
static IAsyncResult ^ BeginResolve(Type ^ contract, System::ServiceModel::EndpointAddress ^ address, AsyncCallback ^ callback, System::Object ^ asyncState);
public static IAsyncResult BeginResolve(Type contract, System.ServiceModel.EndpointAddress address, AsyncCallback callback, object asyncState);
static member BeginResolve : Type * System.ServiceModel.EndpointAddress * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (contract As Type, address As EndpointAddress, callback As AsyncCallback, asyncState As Object) As IAsyncResult
參數
- contract
- Type
下載與解析元資料的合約。
- address
- EndpointAddress
元資料位址。
- callback
- AsyncCallback
非同步回撥代理在通話完成時會被呼叫。
- asyncState
- Object
與非同步通話相關的狀態。
傳回
那 IAsyncResult 就是非同步解析操作。
例外狀況
地址、合約或回撥為 null。
備註
預設 System.ServiceModel.Description.MetadataExchangeClient 設定用於擷取元資料,預設 System.ServiceModel.Description.MetadataExchangeClientMode 為 MetadataExchangeClientMode.MetadataExchange。
若要下載元資料但不將資訊解析成ServiceEndpoint物件,請直接使用System.ServiceModel.Description.MetadataExchangeClient
Note
若未匯入端點或無端點與合約匹配,則回傳空集合。 若回傳空集合,則會寫入警告追蹤。
此方法需要你指定合約類型。 你可以透過在用戶端程式碼中宣告服務介面,或使用由 Svcutil.exe產生的 WCF 用戶端來指定合約。 如果介面改變(例如新增新操作),你必須在用戶端程式碼中更新介面或產生新的 WCF 用戶端。 如果沒有,則會拋出例外。 舉例來說,你有一個服務實作了一個叫 ICalculator 的服務合約,定義了 Add()、Sub()、Mult()和 Div()。 你建立一個客戶端應用程式並產生 WCF 客戶端。 接著你要在 ICalculator 裡加入一個叫 Echo() 的方法。 如果你接著寫一個應用程式,但 Resolve(Type, EndpointAddress) 沒有產生新的 WCF 用戶端,就會遇到以下例外。
Unhandled Exception: System.ServiceModel.Description.WsdlImporter+WsdlImportException: Cannot locate operation Echo in Contract ICalculator。
適用於
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object)
開始一個非同步呼叫,將一個元資料位址解析為 ServiceEndpoint 指定合約的物件,使用指定的位址、 MetadataExchangeClient、非同步狀態與委托。
public:
static IAsyncResult ^ BeginResolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, System::ServiceModel::EndpointAddress ^ address, System::ServiceModel::Description::MetadataExchangeClient ^ client, AsyncCallback ^ callback, System::Object ^ asyncState);
public static IAsyncResult BeginResolve(System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, System.ServiceModel.EndpointAddress address, System.ServiceModel.Description.MetadataExchangeClient client, AsyncCallback callback, object asyncState);
static member BeginResolve : seq<System.ServiceModel.Description.ContractDescription> * System.ServiceModel.EndpointAddress * System.ServiceModel.Description.MetadataExchangeClient * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (contracts As IEnumerable(Of ContractDescription), address As EndpointAddress, client As MetadataExchangeClient, callback As AsyncCallback, asyncState As Object) As IAsyncResult
參數
- contracts
- IEnumerable<ContractDescription>
下載和解析元資料的合約。
- address
- EndpointAddress
元資料位址。
- client
- MetadataExchangeClient
它們 MetadataExchangeClient 用來擷取元資料。
- callback
- AsyncCallback
非同步回撥代理在通話完成時會被呼叫。
- asyncState
- Object
與非同步通話相關的狀態。
傳回
那 IAsyncResult 就是非同步解析操作。
例外狀況
地址、合約、客戶或回撥為 null。
contracts 為空,至少有一個成員 contracts 為空,或 contracts 包含多個名稱與命名空間相同的合約。
備註
預設的 System.ServiceModel.Description.MetadataExchangeClientMode 是 MetadataExchangeClientMode.MetadataExchange。
若要下載元資料但不將資訊解析成ServiceEndpoint物件,請直接使用System.ServiceModel.Description.MetadataExchangeClient
Note
若未匯入端點或無端點與合約匹配,則回傳空集合。 若回傳空集合,則會寫入警告追蹤。
適用於
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object)
開始一個非同步呼叫,將一個元資料位址解析成 ServiceEndpoint 指定合約的物件,使用指定的位址、值、 MetadataExchangeClientMode 非同步狀態及代理。
public:
static IAsyncResult ^ BeginResolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, Uri ^ address, System::ServiceModel::Description::MetadataExchangeClientMode mode, AsyncCallback ^ callback, System::Object ^ asyncState);
public static IAsyncResult BeginResolve(System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, Uri address, System.ServiceModel.Description.MetadataExchangeClientMode mode, AsyncCallback callback, object asyncState);
static member BeginResolve : seq<System.ServiceModel.Description.ContractDescription> * Uri * System.ServiceModel.Description.MetadataExchangeClientMode * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (contracts As IEnumerable(Of ContractDescription), address As Uri, mode As MetadataExchangeClientMode, callback As AsyncCallback, asyncState As Object) As IAsyncResult
參數
- contracts
- IEnumerable<ContractDescription>
下載和解析元資料的合約。
- address
- Uri
元資料位址。
取回方式。
- callback
- AsyncCallback
非同步回撥代理在通話完成時會被呼叫。
- asyncState
- Object
與非同步通話相關的狀態。
傳回
那 IAsyncResult 就是非同步解析操作。
例外狀況
地址、合約或回撥為 null。
contracts 為空,至少有一個成員 contracts 為空,或 contracts 包含多個名稱與命名空間相同的合約。
備註
預設設定 System.ServiceModel.Description.MetadataExchangeClient 用來取得中繼資料。
若要下載元資料但不將資訊解析成ServiceEndpoint物件,請直接使用System.ServiceModel.Description.MetadataExchangeClient
Note
若未匯入端點或無端點與合約匹配,則回傳空集合。 若回傳空集合,則會寫入警告追蹤。
適用於
BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object)
開始一個非同步呼叫,將元資料位址解析為 ServiceEndpoint 指定合約的物件,使用指定的位址、 MetadataExchangeClientMode、非同步狀態與代理。
public:
static IAsyncResult ^ BeginResolve(Type ^ contract, Uri ^ address, System::ServiceModel::Description::MetadataExchangeClientMode mode, AsyncCallback ^ callback, System::Object ^ asyncState);
public static IAsyncResult BeginResolve(Type contract, Uri address, System.ServiceModel.Description.MetadataExchangeClientMode mode, AsyncCallback callback, object asyncState);
static member BeginResolve : Type * Uri * System.ServiceModel.Description.MetadataExchangeClientMode * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (contract As Type, address As Uri, mode As MetadataExchangeClientMode, callback As AsyncCallback, asyncState As Object) As IAsyncResult
參數
- contract
- Type
下載與解析元資料的合約。
- address
- Uri
元資料位址。
取回方式。
- callback
- AsyncCallback
非同步回撥代理在通話完成時會被呼叫。
- asyncState
- Object
與非同步通話相關的狀態。
傳回
那 IAsyncResult 就是非同步解析操作。
例外狀況
地址、合約或回撥為 null。
備註
預設設定 System.ServiceModel.Description.MetadataExchangeClient 用來取得中繼資料。
若要下載元資料但不將資訊解析成ServiceEndpoint物件,請直接使用System.ServiceModel.Description.MetadataExchangeClient
Note
若未匯入端點或無端點與合約匹配,則回傳空集合。 若回傳空集合,則會寫入警告追蹤。
適用於
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object)
開始一個非同步呼叫,將一個元資料位址解析為 ServiceEndpoint 指定合約的物件,使用指定的位址、 MetadataExchangeClient、、 MetadataExchangeClientMode非同步狀態和委託。
public:
static IAsyncResult ^ BeginResolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, Uri ^ address, System::ServiceModel::Description::MetadataExchangeClientMode mode, System::ServiceModel::Description::MetadataExchangeClient ^ client, AsyncCallback ^ callback, System::Object ^ asyncState);
public static IAsyncResult BeginResolve(System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, Uri address, System.ServiceModel.Description.MetadataExchangeClientMode mode, System.ServiceModel.Description.MetadataExchangeClient client, AsyncCallback callback, object asyncState);
static member BeginResolve : seq<System.ServiceModel.Description.ContractDescription> * Uri * System.ServiceModel.Description.MetadataExchangeClientMode * System.ServiceModel.Description.MetadataExchangeClient * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (contracts As IEnumerable(Of ContractDescription), address As Uri, mode As MetadataExchangeClientMode, client As MetadataExchangeClient, callback As AsyncCallback, asyncState As Object) As IAsyncResult
參數
- contracts
- IEnumerable<ContractDescription>
下載和解析元資料的合約。
- address
- Uri
元資料位址。
取回方式。
- client
- MetadataExchangeClient
它們 MetadataExchangeClient 用來擷取元資料。
- callback
- AsyncCallback
非同步回撥代理在通話完成時會被呼叫。
- asyncState
- Object
與非同步通話相關的狀態。
傳回
那 IAsyncResult 就是非同步解析操作。
例外狀況
地址、合約或回撥為 null。
contracts 為空,至少有一個成員 contracts 為空,或 contracts 包含多個名稱與命名空間相同的合約。
備註
若要下載元資料但不將資訊解析成ServiceEndpoint物件,請直接使用System.ServiceModel.Description.MetadataExchangeClient
Note
若未匯入端點或無端點與合約匹配,則回傳空集合。 若回傳空集合,則會寫入警告追蹤。