MetadataResolver.BeginResolve Method (Type, EndpointAddress, AsyncCallback, Object)
Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contract using the specified address and asynchronous state and delegate.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
public static IAsyncResult BeginResolve( Type contract, EndpointAddress address, AsyncCallback callback, Object asyncState )
- Type: System.Type
The contract for which to download and resolve metadata.
- Type: System.ServiceModel.EndpointAddress
The metadata address.
- Type: System.AsyncCallback
The asynchronous callback delegate invoked when the call is complete.
- Type: System.Object
The state associated with the asynchronous call.
The default settings on the System.ServiceModel.Description.MetadataExchangeClient are used to retrieve the metadata and the default System.ServiceModel.Description.MetadataExchangeClientMode is MetadataExchangeClientMode.MetadataExchange.
To download metadata but not resolve the information into ServiceEndpoint objects, use the System.ServiceModel.Description.MetadataExchangeClient directly.
An empty collection is returned if no endpoints were imported or if no endpoints matched the contract. If an empty collection is returned, a warning trace is written.
This method requires that you specify a contract type. You can specify the contract by declaring the service interface in the client code or by using a WCF client generated by Svcutil.exe. If the interface changes (adding a new operation, for example) you must update the interface in the client code or generate a new WCF client. If you do not, an exception is thrown. For example, you have a service that implements a service contract called ICalculator that defines Add(), Sub(), Mult(), and Div(). You create a client application and generate WCF client. You then add a method to ICalculator called Echo(). If you then write an application that calls Resolve(Type, EndpointAddress) without generating a new WCF client you get the following exception.
Unhandled Exception: System.ServiceModel.Description.WsdlImporter+WsdlImportException: Cannot locate operation Echo in Contract ICalculator.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.