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。
注意
如果沒有匯入端點,或者如果沒有符合合約的端點,則會傳回空集合。 如果傳回空集合,則會寫入警告追蹤。
適用於
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。
注意
如果沒有匯入端點,或者如果沒有符合合約的端點,則會傳回空集合。 如果傳回空集合,則會寫入警告追蹤。
使用這個方法時,您需要指定合約類型。 您可以在用戶端程式代碼中宣告服務介面,或使用由 Svcutil.exe 產生的 WCF 用戶端來指定合約。 如果介面變更 (新增作業,例如) 您必須更新用戶端程式代碼中的介面,或產生新的 WCF 用戶端。 如果沒有這樣做,則會擲回例外狀況。 例如,您的服務會實作名為 ICalculator (定義 Add()、Sub()、Mult() 和 Div()) 的服務合約。 您可以建立用戶端應用程式並產生 WCF 用戶端。 接著將名為 Echo() 的方法加入至 ICalculator。 如果您接著撰寫呼叫的應用程式 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
的其中一個成員為 null,或者 contracts
包含一個以上同名且命名空間相同的合約。
備註
預設 System.ServiceModel.Description.MetadataExchangeClientMode 是 MetadataExchangeClientMode.MetadataExchange。
若要下載中繼資料,但不想將資訊解析成 ServiceEndpoint 物件,請直接使用 System.ServiceModel.Description.MetadataExchangeClient。
注意
如果沒有匯入端點,或者如果沒有符合合約的端點,則會傳回空集合。 如果傳回空集合,則會寫入警告追蹤。
適用於
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
的其中一個成員為 null,或者 contracts
包含一個以上同名且命名空間相同的合約。
備註
System.ServiceModel.Description.MetadataExchangeClient 的預設值是用來擷取中繼資料。
若要下載中繼資料,但不想將資訊解析成 ServiceEndpoint 物件,請直接使用 System.ServiceModel.Description.MetadataExchangeClient。
注意
如果沒有匯入端點,或者如果沒有符合合約的端點,則會傳回空集合。 如果傳回空集合,則會寫入警告追蹤。
適用於
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。
注意
如果沒有匯入端點,或者如果沒有符合合約的端點,則會傳回空集合。 如果傳回空集合,則會寫入警告追蹤。
適用於
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
的其中一個成員為 null,或者 contracts
包含一個以上同名且命名空間相同的合約。
備註
若要下載中繼資料,但不想將資訊解析成 ServiceEndpoint 物件,請直接使用 System.ServiceModel.Description.MetadataExchangeClient。
注意
如果沒有匯入端點,或者如果沒有符合合約的端點,則會傳回空集合。 如果傳回空集合,則會寫入警告追蹤。