Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo MetadataResolver.BeginResolve (Type, EndpointAddress, AsyncCallback, Object)

 

Data di pubblicazione: ottobre 2016

Avvia una chiamata asincrona che risolve un indirizzo di metadati in oggetti ServiceEndpoint per il contratto specificato, utilizzando l'indirizzo, lo stato asincrono e il delegato specificati.

Spazio dei nomi:   System.ServiceModel.Description
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public static IAsyncResult BeginResolve(
	Type contract,
	EndpointAddress address,
	AsyncCallback callback,
	object asyncState
)

Parametri

contract
Type: System.Type

Contratto per il quale scaricare e risolvere metadati.

address
Type: System.ServiceModel.EndpointAddress

Indirizzo dei metadati.

callback
Type: System.AsyncCallback

Delegato di callback asincrono richiamato quando la chiamata al metodo è completa.

asyncState
Type: System.Object

Stato associato alla chiamata asincrona.

Valore restituito

Type: System.IAsyncResult

IAsyncResult che fa riferimento all'operazione di risoluzione asincrona.

Exception Condition
ArgumentNullException

L'indirizzo, il contratto o il callback è null.

Vengono utilizzate le impostazioni predefinite in System.ServiceModel.Description.MetadataExchangeClient per recuperare i metadati e l'oggetto System.ServiceModel.Description.MetadataExchangeClientMode predefinito è MetadataExchangeClientMode.MetadataExchange.

Per scaricare i metadati senza risolvere le informazioni contenute negli oggetti ServiceEndpoint, utilizzare direttamente l'oggetto System.ServiceModel.Description.MetadataExchangeClient.

System_CAPS_noteNota

Viene restituita una raccolta vuota se non sono stati importati endpoint o se al contratto non corrisponde un endpoint. Se viene restituita una raccolta vuota, viene scritta una traccia di avviso.

Con questo metodo è necessario specificare un tipo di contratto. È possibile specificare il contratto dichiarando l'interfaccia del servizio nel codice client o utilizzando un client WCF generato da Svcutil.exe. Se l'interfaccia viene modificata, ad esempio tramite l'aggiunta di una nuova operazione, è necessario aggiornarla nel codice client o generare un nuovo client WCF. In caso contrario, viene generata un'eccezione. Si dispone, ad esempio, di un servizio che implementa un contratto di servizio denominato ICalculator che definisce Add(), Sub(), Mult() e Div(). Si crea un'applicazione client e si genera un client WCF, quindi si aggiunge un metodo a ICalculator denominato Echo(). Se in seguito si scrive un'applicazione che chiama il metodo Resolve(Type, EndpointAddress) senza generare un nuovo client WCF, viene generata l'eccezione seguente.

Unhandled Exception: System.ServiceModel.Description.WsdlImporter+WsdlImportException: Cannot locate operation Echo in Contract ICalculator.

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: