ClientRuntime Klas

Definitie

Vertegenwoordigt de invoegpositie voor klassen die de functionaliteit van WCF-clientobjecten (Windows Communication Foundation) uitbreiden voor alle berichten die worden verwerkt door een clienttoepassing.

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
Overname
ClientRuntime
Overname

Voorbeelden

In het volgende codevoorbeeld wordt een System.ServiceModel.Description.IEndpointBehavior in System.ServiceModel.Dispatcher.IClientMessageInspector de clientruntime ingevoegd door deze toe te voegen aan de MessageInspectors eigenschap.

#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

In het volgende codevoorbeeld ziet u een configuratiebestand waarmee het eindpuntgedrag in het clienteindpunt wordt geladen.

  <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>

Opmerkingen

WCF-clientobjecten, ongeacht of een uitbreiding van ClientBase<TChannel> of van IClientChannel, worden gebruikt door Windows Communication Foundation (WCF)-clienttoepassingen om methodeaanroepen te converteren naar uitgaande berichten en binnenkomende berichten naar objecten te converteren en door te geven aan de resultaten van clientmethoden.

De ClientRuntime klasse is een uitbreidbaarheidspunt waarnaar u extensieobjecten kunt toevoegen die berichten onderscheppen en het gedrag van de client uitbreiden voor alle bewerkingen. Onderscheppingsobjecten kunnen alle berichten in een bepaald contract verwerken, alleen berichten verwerken voor bepaalde bewerkingen, aangepaste kanaal initialisatie uitvoeren en ander aangepast gedrag van clienttoepassingen implementeren. Zie WCF-clientarchitectuur voor een overzicht van clientarchitectuur. Zie Accessing Services using a WCF Client (Toegang tot services met behulp van een WCF-client) voor meer informatie over clientprogrammering. Zie Uitbreidingsclients voor meer informatie over aanpassingen en hoe u deze kunt uitvoeren.

  • De CallbackDispatchRuntime eigenschap retourneert het runtime-object verzenden voor door de service geïnitieerde callback-bewerkingen.

  • De OperationSelector eigenschap accepteert een aangepast bewerkingselectorobject om de routering van clientberichten te beheren.

  • Met ChannelInitializers de eigenschap kan een kanaal-initialisatiefunctie worden toegevoegd die het clientkanaal kan inspecteren of wijzigen.

  • De InteractiveChannelInitializers eigenschap kan worden gebruikt om een visuele prompt weer te geven om een gebruiker in staat te stellen referenties te selecteren voordat het kanaal wordt geopend.

  • De Operations eigenschap haalt een verzameling ClientOperation objecten op waaraan u aangepaste onderscheppingsfuncties voor berichten kunt toevoegen die specifiek zijn voor de berichten van die bewerking.

  • Met de ManualAddressing eigenschap kan een toepassing bepaalde automatische adresseringsheaders uitschakelen om rechtstreeks de adressering te beheren.

  • Met MaxFaultSize de eigenschap kan de client de grootte van foutberichten beperken die de client accepteert.

  • De MessageInspectors eigenschap haalt een verzameling IClientMessageInspector objecten op waaraan u aangepaste bericht interceptors kunt toevoegen voor alle berichten die via een client reizen.

  • De UnhandledClientOperation eigenschap retourneert de bewerking waarnaar onverwachte berichten worden doorgegeven.

  • De ValidateMustUnderstand eigenschap informeert het systeem of het moet bevestigen dat SOAP-headers die zijn gemarkeerd als MustUnderstand die in feite zijn begrepen.

  • De Via eigenschap stelt de waarde van de bestemming van het bericht op transportniveau in om tussenpersonen en andere scenario's te ondersteunen.

Daarnaast zijn er een aantal andere eigenschappen waarmee de klantcontractgegevens worden opgehaald:

Als de client een duplex-client is, worden met de volgende eigenschappen ook het type client callback en runtime opgehaald:

Eigenschappen

Name Description
CallbackClientType

Hiermee wordt het type callback-contract dat is gekoppeld aan een duplex-client, ophaalt of ingesteld.

CallbackDispatchRuntime

Hiermee haalt u de runtimetijd van de verzending op waarmee door de service geïnitieerde bewerkingen worden verzonden.

ChannelInitializers

Hiermee haalt u een verzameling kanaal-initialisatieobjecten op die worden gebruikt voor het aanpassen van het kanaal dat aan een client is gekoppeld.

ClientMessageInspectors

Hiermee haalt u een verzameling berichtencontroleobjecten op die worden gebruikt om berichten van een bepaalde servicebewerking weer te geven of te wijzigen.

ClientOperations

Hiermee haalt u een verzameling clientbewerkingsobjecten op die worden gebruikt voor het koppelen van extensieobjecten die berichten en gedrag van een bepaalde servicebewerking inspecteren of wijzigen.

ContractClientType

Hiermee wordt het type contract dat aan een client is gekoppeld, ophaalt of ingesteld.

ContractName

Hiermee haalt u de naam op van het contract dat is gekoppeld aan een client.

ContractNamespace

Hiermee haalt u de naamruimte op van het contract dat is gekoppeld aan een client.

InteractiveChannelInitializers

Hiermee haalt u een verzameling van een interactieve kanaal-initialisatiefunctie op.

ManualAddressing

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de client adresseringsheaders toevoegt aan aanvraag-antwoordberichten.

MaxFaultSize

Hiermee haalt u de maximale foutgrootte op of stelt u deze in.

MessageInspectors

Hiermee haalt u een verzameling berichtcontrole-implementaties voor een client op.

MessageVersionNoneFaultsEnabled

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de eigenschap MessageVersionNoneFaultsEnabled is ingesteld.

Operations

Hiermee haalt u een verzameling clientbewerkingen voor een client op.

OperationSelector

Hiermee haalt u een IClientOperationSelector implementatie op die kan worden gebruikt om een ClientOperationte selecteren.

UnhandledClientOperation

Hiermee haalt u de clientbewerking op voor methoden die geen bijbehorende ClientOperation in de Operations verzameling hebben.

ValidateMustUnderstand

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het systeem of de toepassing SOAP-headerverwerking MustUnderstand afdwingt.

Via

Hiermee haalt u het transportadres op dat wordt gebruikt voor het verzenden van berichten via de client.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op