ClientRuntime Klass

Definition

Representerar insättningspunkten för klasser som utökar funktionerna i Windows Communication Foundation klientobjekt (WCF) för alla meddelanden som hanteras av ett klientprogram.

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

Exempel

I följande kodexempel infogar en System.ServiceModel.Description.IEndpointBehaviorSystem.ServiceModel.Dispatcher.IClientMessageInspector i klientkörningen genom att lägga till den i MessageInspectors egenskapen.

#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

I följande kodexempel visas en konfigurationsfil som läser in slutpunktsbeteendet i klientslutpunkten.

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

Kommentarer

WCF-klientobjekt, oavsett om ett tillägg av ClientBase<TChannel> eller IClientChannel, används av Windows Communication Foundation klientprogram (WCF) för att konvertera metodanrop till utgående meddelanden och konvertera inkommande meddelanden till objekt och skicka dem till resultatet av klientmetoder.

Klassen ClientRuntime är en utökningspunkt där du kan lägga till tilläggsobjekt som fångar upp meddelanden och utökar klientbeteendet för alla åtgärder. Avlyssningsobjekt kan bearbeta alla meddelanden i ett visst kontrakt, endast bearbeta meddelanden för vissa åtgärder, utföra anpassad kanalinitiering och implementera andra anpassade klientprogrambeteenden. En översikt över klientarkitekturen finns i WCF-klientarkitektur. Mer information om klientprogrammering finns i Åtkomst till tjänster med hjälp av en WCF-klient. Mer information om anpassningar och hur du utför dem finns i Utöka klienter.

  • Egenskapen CallbackDispatchRuntime returnerar körningsobjektet dispatch för tjänstinitierade återanropsåtgärder.

  • Egenskapen OperationSelector accepterar ett objekt för anpassad åtgärdsväljare för att styra routningen av klientmeddelanden.

  • Egenskapen ChannelInitializers gör det möjligt att lägga till en kanalinitierare som kan inspektera eller ändra klientkanalen.

  • Egenskapen InteractiveChannelInitializers kan användas för att visa en visuell fråga så att en användare kan välja autentiseringsuppgifter innan kanalen öppnas.

  • Egenskapen Operations hämtar en samling ClientOperation-objekt där du kan lägga till skräddarsydda meddelandehanterare som erbjuder funktionalitet anpassad för meddelandena i den specifika operationen.

  • Egenskapen ManualAddressing gör det möjligt för ett program att inaktivera vissa automatiska adresseringshuvuden för att styra adressering direkt.

  • Egenskapen MaxFaultSize gör det möjligt för klienten att begränsa storleken på felmeddelanden som klienten accepterar.

  • Egenskapen MessageInspectors hämtar en samling IClientMessageInspector objekt som du kan lägga till anpassade meddelandeavlyssnare för alla meddelanden som färdas via en klient.

  • Egenskapen UnhandledClientOperation returnerar åtgärden som oväntade meddelanden skickas till.

  • Egenskapen ValidateMustUnderstand informerar systemet om det ska bekräfta att SOAP-huvuden som har markerats som MustUnderstand faktiskt har förståtts.

  • Egenskapen Via anger värdet för meddelandets mål på transportnivå för att stödja mellanhänder och andra scenarier.

Dessutom finns det ett antal andra egenskaper som hämtar klientkontraktsinformationen:

Om klienten är en duplex-klient hämtar följande egenskaper även klientåteranropstypen och körningen:

Egenskaper

Name Description
CallbackClientType

Hämtar eller anger typen av återanropskontrakt som är associerat med en duplex-klient.

CallbackDispatchRuntime

Hämtar körningstiden för sändning som skickar tjänstinitierade åtgärder.

ChannelInitializers

Hämtar en samling kanalinitieringsobjekt som används för att anpassa kanalen som är associerad med en klient.

ClientMessageInspectors

Hämtar en samling meddelandekontrollobjekt som används för att visa eller ändra meddelanden för en viss tjänståtgärd.

ClientOperations

Hämtar en samling klientåtgärdsobjekt som används för att bifoga tilläggsobjekt som inspekterar eller ändrar meddelanden och beteende för en viss tjänståtgärd.

ContractClientType

Hämtar eller anger typen av kontrakt som är associerat med en klient.

ContractName

Hämtar namnet på kontraktet som är associerat med en klient.

ContractNamespace

Hämtar namnområdet för kontraktet som är associerat med en klient.

InteractiveChannelInitializers

Hämtar en samling av en interaktiv kanalinitierare.

ManualAddressing

Hämtar eller anger ett värde som anger om klienten lägger till adresseringshuvuden i begärandesvarsmeddelanden.

MaxFaultSize

Hämtar eller anger den maximala felstorleken.

MessageInspectors

Hämtar en samling implementeringar av meddelandekontroll för en klient.

MessageVersionNoneFaultsEnabled

Hämtar eller anger ett värde som anger om egenskapen MessageVersionNoneFaultsEnabled har angetts.

Operations

Hämtar en samling klientåtgärder för en klient.

OperationSelector

Hämtar eller anger en IClientOperationSelector implementering som kan användas för att välja en ClientOperation.

UnhandledClientOperation

Hämtar klientåtgärden för metoder som inte har någon motsvarande ClientOperation i Operations samlingen.

ValidateMustUnderstand

Hämtar eller anger ett värde som anger om systemet eller programmet framtvingar SOAP-sidhuvudbearbetning MustUnderstand .

Via

Hämtar eller anger den transportadress som används för att skicka meddelanden via klienten.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för