ClientRuntime Classe

Definizione

Rappresenta il punto di inserimento per le classi che estendono la funzionalità degli oggetti client di Windows Communication Foundation (WCF) a tutti i messaggi gestiti da un'applicazione client.Represents the insertion point for classes that extend the functionality of Windows Communication Foundation (WCF) client objects for all messages handled by a client application.

public ref class ClientRuntime sealed
public sealed class ClientRuntime
type ClientRuntime = class
Public NotInheritable Class ClientRuntime
Ereditarietà
ClientRuntime

Esempi

Nell'esempio di codice seguente un'interfaccia System.ServiceModel.Description.IEndpointBehavior inserisce un'interfaccia System.ServiceModel.Dispatcher.IClientMessageInspector nella fase di esecuzione del client aggiungendola alla proprietà MessageInspectors.In the following code example an System.ServiceModel.Description.IEndpointBehavior inserts a System.ServiceModel.Dispatcher.IClientMessageInspector into the client runtime by adding it to the MessageInspectors property.

#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

Nell'esempio di codice seguente viene mostrato un file di configurazione che carica il comportamento dell'endpoint sull'endpoint client.The following code example shows a configuration file that loads the endpoint behavior into the client endpoint.

  <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, se un'estensione di ClientBase<TChannel> o di IClientChannel, vengono utilizzati dalle applicazioni client Windows Communication Foundation (WCF) per convertire le chiamate al metodo in messaggi in uscita e convertire i messaggi in ingresso in oggetti e passarli ai risultati dei metodi client.WCF client objects, whether an extension of ClientBase<TChannel> or of IClientChannel, are used by Windows Communication Foundation (WCF) client applications to convert method calls into outbound messages and convert incoming messages to objects and pass them to the results of client methods.

La classe ClientRuntime è un punto di estendibilità al quale è possibile aggiungere oggetti di estensione che intercettano messaggi ed estendono il comportamento del client a tutte le operazioni.The ClientRuntime class is an extensibility point to which you can add extension objects that intercept messages and extend client behavior across all operations. Gli oggetti di intercettamento possono elaborare tutti i messaggi di un contratto specifico, elaborare solo i messaggi di operazioni particolari, eseguire l'inizializzazione di un canale personalizzata e implementare altri comportamenti dell'applicazione client personalizzati.Interception objects can process all messages in a particular contract, process only messages for particular operations, perform custom channel initialization, and implement other custom client application behavior. Per una panoramica dell'architettura client, vedere architettura client WCF.For an overview of client architecture, see WCF Client Architecture. Per ulteriori informazioni sulla programmazione client, vedere accesso ai servizi tramite un client WCF.For more information about client programming, see Accessing Services Using a WCF Client. Per informazioni dettagliate sulle personalizzazioni e su come eseguirle, vedere estensione dei client.For details about customizations and how to perform them, see Extending Clients.

  • La proprietà CallbackDispatchRuntime restituisce l'oggetto runtime della distribuzione per le operazioni di callback avviate dal servizio.The CallbackDispatchRuntime property returns the dispatch run-time object for service-initiated callback operations.

  • La proprietà OperationSelector accetta un oggetto selettore dell'operazione personalizzato per controllare il routing dei messaggi client.The OperationSelector property accepts a custom operation selector object to control the routing of client messages.

  • La proprietà ChannelInitializers consente di aggiungere un inizializzatore del canale che può controllare o modificare il canale client.The ChannelInitializers property enables the addition of a channel initializer that can inspect or modify the client channel.

  • La proprietà InteractiveChannelInitializers può essere utilizzata per visualizzare un prompt che consente all'utente di selezionare le credenziali prima di aprire il canale.The InteractiveChannelInitializers property can be used to display a visual prompt to enable a user to select credentials prior to opening the channel.

  • La proprietà Operations ottiene una raccolta di oggetti ClientOperation alla quale è possibile aggiungere intercettatori di messaggi personalizzati che forniscono la funzionalità specifica ai messaggi di quell'operazione.The Operations property gets a collection of ClientOperation objects to which you can add custom message interceptors that provide functionality specific to the messages of that operation.

  • La proprietà ManualAddressing consente a un'applicazione di disattivare alcune intestazioni di indirizzamento automatico per controllare direttamente l'indirizzamento.The ManualAddressing property enables an application to turn off some automatic addressing headers to directly control addressing.

  • La proprietà MaxFaultSize consente al client di limitare la dimensione dei messaggi di errore accettati dal client.The MaxFaultSize property enables the client to limit the size of fault messages that the client accepts.

  • La proprietà MessageInspectors ottiene una raccolta di oggetti IClientMessageInspector alla quale è possibile aggiungere intercettatori di messaggi personalizzati per tutti i messaggi che passano per un client.The MessageInspectors property gets a collection of IClientMessageInspector objects to which you can add custom message interceptors for all messages traveling through a client.

  • La proprietà UnhandledClientOperation restituisce l'operazione alla quale vengono passati messaggi imprevisti.The UnhandledClientOperation property returns the operation to which unexpected messages are passed.

  • La proprietà ValidateMustUnderstand indica al sistema se è necessario verificare che le intestazioni SOAP contrassegnate con MustUnderstand, siano state in effetti riconosciute.The ValidateMustUnderstand property informs the system whether it should confirm that SOAP headers marked as MustUnderstand have, in fact, been understood.

  • La proprietà Via imposta il valore della destinazione del messaggio a livello di trasporto per supportare gli intermediari e altri scenari.The Via property sets the value of the destination of the message at the transport level to support intermediaries and other scenarios.

Esistono inoltre altre proprietà che recuperano le informazioni del contratto client:In addition, there are a number of other properties that retrieve the client contract information:

Se il client è un client duplex, nelle proprietà seguenti vengono inoltre recuperati il tipo di callback e la fase di esecuzione del client:If the client is a duplex client, the following properties also retrieve the client callback type and runtime:

Proprietà

CallbackClientType

Ottiene o imposta il tipo del contratto di callback associato a un client duplex.Gets or sets the type of the callback contract associated with a duplex client.

CallbackDispatchRuntime

Ottiene la fase di esecuzione della distribuzione che distribuisce operazioni avviate dal servizio.Gets the dispatch run-time that dispatches service-initiated operations.

ChannelInitializers

Ottiene una raccolta di oggetti dell'inizializzatore del canale utilizzato per personalizzare il canale associato a un client.Gets a collection of channel initializer objects used to customize the channel associated with a client.

ClientMessageInspectors

Ottiene una raccolta di oggetti controllo messaggio utilizzati per visualizzare o modificare i messaggi di una particolare operazione del servizio.Gets a collection of message inspector objects used to view or modify messages of a particular service operation.

ClientOperations

Ottiene una raccolta di oggetti operazione client utilizzati per collegare oggetti di estensione che controllano o modificano i messaggi e il comportamento di una particolare operazione del servizio.Gets a collection of client operation objects used to attach extension objects that inspect or modify messages and behavior of a particular service operation.

ContractClientType

Ottiene o imposta il tipo di contratto associato al client.Gets or sets the type of the contract associated with a client.

ContractName

Ottiene il nome del contratto associato al client.Gets the name of the contract associated with a client.

ContractNamespace

Ottiene lo spazio dei nomi del contratto associato al client.Gets the namespace of the contract associated with a client.

InteractiveChannelInitializers

Ottiene una raccolta di un inizializzatore di canale interattivo.Gets a collection of an interactive channel initializer.

ManualAddressing

Ottiene o imposta un valore che indica se il client aggiunge intestazioni di indirizzamento ai messaggi request-reply.Gets or sets a value that indicates whether the client adds addressing headers to request-reply messages.

MaxFaultSize

Ottiene o imposta la dimensione massima dell'errore.Gets or sets the maximum fault size.

MessageInspectors

Ottiene una raccolta di implementazioni di controllo messaggi per un client.Gets a collection of message inspector implementations for a client.

MessageVersionNoneFaultsEnabled

Ottiene o imposta un valore che indica se la proprietà MessageVersionNoneFaultsEnabled è impostata.Gets or sets a value that indicates whether the MessageVersionNoneFaultsEnabled property is set.

Operations

Ottiene una raccolta di operazioni client per un client.Gets a collection of client operations for a client.

OperationSelector

Ottiene o imposta un'implementazione IClientOperationSelector che può essere utilizzata per selezionare un elemento ClientOperation.Gets or sets an IClientOperationSelector implementation that can be used to select a ClientOperation.

UnhandledClientOperation

Ottiene l'operazione client per i metodi che non dispongono di un oggetto ClientOperation corrispondente nella raccolta Operations.Gets the client operation for methods that do not have a corresponding ClientOperation in the Operations collection.

ValidateMustUnderstand

Ottiene o imposta un valore che specifica se il sistema o l'applicazione applica l'elaborazione dell'intestazione MustUnderstand SOAP.Gets or sets a value that specifies whether the system or the application enforces SOAP MustUnderstand header processing.

Via

Ottiene o imposta l'indirizzo di trasporto utilizzato per inviare messaggi utilizzando il client.Gets or sets the transport address that is used to send messages through the client.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a