ClientRuntime Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta il punto di inserimento per le classi che estendono la funzionalità degli oggetti client windows Communication Foundation (WCF) per tutti i messaggi gestiti da un'applicazione client.
public ref class ClientRuntime sealed
public ref class ClientRuntime sealed : System::ServiceModel::Dispatcher::ClientRuntimeCompatBase
public sealed class ClientRuntime
public sealed class ClientRuntime : System.ServiceModel.Dispatcher.ClientRuntimeCompatBase
type ClientRuntime = class
type ClientRuntime = class
inherit ClientRuntimeCompatBase
Public NotInheritable Class ClientRuntime
Public NotInheritable Class ClientRuntime
Inherits ClientRuntimeCompatBase
- Ereditarietà
-
ClientRuntime
- Ereditarietà
Esempio
Nell'esempio di codice seguente viene System.ServiceModel.Description.IEndpointBehavior inserito un oggetto System.ServiceModel.Dispatcher.IClientMessageInspector nel runtime client aggiungendolo alla MessageInspectors proprietà .
#region IEndpointBehavior Members
public void AddBindingParameters(
ServiceEndpoint endpoint, BindingParameterCollection bindingParameters
) { return; }
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
clientRuntime.MessageInspectors.Add(new Inspector());
foreach (ClientOperation op in clientRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new Inspector());
foreach (DispatchOperation op in endpointDispatcher.DispatchRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void Validate(ServiceEndpoint endpoint){ return; }
#Region "IEndpointBehavior Members"
Public Sub AddBindingParameters(ByVal endpoint As ServiceEndpoint, ByVal bindingParameters _
As BindingParameterCollection) Implements IEndpointBehavior.AddBindingParameters
Return
End Sub
Public Sub ApplyClientBehavior(ByVal endpoint As ServiceEndpoint, ByVal clientRuntime As ClientRuntime) _
Implements IEndpointBehavior.ApplyClientBehavior
clientRuntime.MessageInspectors.Add(New Inspector())
For Each op As ClientOperation In clientRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub ApplyDispatchBehavior(ByVal endpoint As ServiceEndpoint, ByVal endpointDispatcher As _
EndpointDispatcher) Implements IEndpointBehavior.ApplyDispatchBehavior
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(New Inspector())
For Each op As DispatchOperation In endpointDispatcher.DispatchRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub Validate(ByVal endpoint As ServiceEndpoint) Implements IEndpointBehavior.Validate
Return
End Sub
L'esempio di codice seguente illustra un file di configurazione che carica il comportamento dell'endpoint nell'endpoint client.
<client>
<endpoint
address="http://localhost:8080/SampleService"
behaviorConfiguration="clientInspectorsAdded"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_ISampleService"
contract="ISampleService"
name="WSHttpBinding_ISampleService"
>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="clientInspectorsAdded">
<clientInterceptors />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add
name="clientInterceptors"
type="Microsoft.WCF.Documentation.InspectorInserter, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
/>
</behaviorExtensions>
</extensions>
Commenti
Gli oggetti client WCF, che si tratti di un'estensione di ClientBase<TChannel> o di IClientChannel, vengono usati dalle applicazioni client windows Communication Foundation (WCF) per convertire le chiamate di metodo in messaggi in uscita e convertire i messaggi in ingresso in oggetti e passarli ai risultati dei metodi client.
La ClientRuntime classe è un punto di estendibilità a cui è possibile aggiungere oggetti di estensione che intercettano i messaggi ed estendono il comportamento del client in tutte le operazioni. Gli oggetti di intercettazione possono elaborare tutti i messaggi in un determinato contratto, elaborare solo i messaggi per determinate operazioni, eseguire l'inizializzazione del canale personalizzato e implementare altri comportamenti dell'applicazione client personalizzata. Per una panoramica dell'architettura client, vedere Architettura client WCF. Per altre informazioni sulla programmazione client, vedere Accesso ai servizi tramite un client WCF. Per informazioni dettagliate sulle personalizzazioni e su come eseguirle, vedere Estensione dei client.
La CallbackDispatchRuntime proprietà restituisce l'oggetto runtime dispatch per le operazioni di callback avviate dal servizio.
La OperationSelector proprietà accetta un oggetto selettore di operazioni personalizzato per controllare il routing dei messaggi client.
La ChannelInitializers proprietà abilita l'aggiunta di un inizializzatore di canale in grado di esaminare o modificare il canale client.
La InteractiveChannelInitializers proprietà può essere usata per visualizzare un prompt visivo per consentire a un utente di selezionare le credenziali prima di aprire il canale.
La Operations proprietà ottiene una raccolta di ClientOperation oggetti a cui è possibile aggiungere intercettori di messaggi personalizzati che forniscono funzionalità specifiche per i messaggi di tale operazione.
La proprietà ManualAddressing consente a un'applicazione di disattivare automaticamente alcune intestazioni di indirizzamento per poter controllare direttamente l'indirizzamento.
La MaxFaultSize proprietà consente al client di limitare le dimensioni dei messaggi di errore accettati dal client.
La MessageInspectors proprietà ottiene una raccolta di IClientMessageInspector oggetti a cui è possibile aggiungere intercettori di messaggi personalizzati per tutti i messaggi in viaggio attraverso un client.
La UnhandledClientOperation proprietà restituisce l'operazione a cui vengono passati messaggi imprevisti.
La ValidateMustUnderstand proprietà informa il sistema se deve confermare che le intestazioni SOAP contrassegnate come
MustUnderstandsono state effettivamente comprese.La Via proprietà imposta il valore della destinazione del messaggio a livello di trasporto per supportare intermediari e altri scenari.
Inoltre, esistono diverse altre proprietà che recuperano le informazioni sul contratto client:
Se il client è un client duplex, le proprietà seguenti recuperano anche il tipo di callback client e il runtime:
Proprietà
| Nome | Descrizione |
|---|---|
| CallbackClientType |
Ottiene o imposta il tipo del contratto di callback associato a un client duplex. |
| CallbackDispatchRuntime |
Ottiene il runtime dispatch che invia le operazioni avviate dal servizio. |
| ChannelInitializers |
Ottiene una raccolta di oggetti inizializzatore di canale utilizzati per personalizzare il canale associato a un client. |
| ClientMessageInspectors |
Ottiene una raccolta di oggetti controllo messaggi utilizzati per visualizzare o modificare i messaggi di una determinata operazione del servizio. |
| ClientOperations |
Ottiene una raccolta di oggetti operazione client utilizzati per associare oggetti di estensione che controllano o modificano i messaggi e il comportamento di una determinata operazione del servizio. |
| ContractClientType |
Ottiene o imposta il tipo di contratto associato a un client. |
| ContractName |
Ottiene il nome del contratto associato a un client. |
| ContractNamespace |
Ottiene lo spazio dei nomi del contratto associato a un client. |
| InteractiveChannelInitializers |
Ottiene una raccolta di un inizializzatore di canale interattivo. |
| ManualAddressing |
Ottiene o imposta un valore che indica se il client aggiunge intestazioni di indirizzamento ai messaggi request-reply. |
| MaxFaultSize |
Ottiene o imposta la dimensione massima dell'errore. |
| MessageInspectors |
Ottiene una raccolta di implementazioni del controllo messaggi per un client. |
| MessageVersionNoneFaultsEnabled |
Ottiene o imposta un valore che indica se la proprietà MessageVersionNoneFaultsEnabled è impostata. |
| Operations |
Ottiene una raccolta di operazioni client per un client. |
| OperationSelector |
Ottiene o imposta un'implementazione IClientOperationSelector che può essere utilizzata per selezionare un oggetto ClientOperation. |
| UnhandledClientOperation |
Ottiene l'operazione client per i metodi che non dispongono di un oggetto corrispondente ClientOperation nella Operations raccolta. |
| ValidateMustUnderstand |
Ottiene o imposta un valore che specifica se il sistema o l'applicazione applica l'elaborazione dell'intestazione SOAP |
| Via |
Ottiene o imposta l'indirizzo di trasporto utilizzato per inviare messaggi tramite il client. |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |