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 客户端。 然后您向 ICalculator 添加了一个方法,称为 Echo()。 然后,如果编写调用而不生成新 WCF 客户端的应用程序 Resolve(Type, EndpointAddress) ,则会出现以下异常。
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。
备注
如果没有导入终结点或者没有与协定匹配的终结点,则返回一个空集合。 如果返回了空集合,则写入一个警告跟踪。