ClientRuntime Třída

Definice

Představuje kurzor pro třídy, které rozšiřují funkce klientských objektů WCF (Windows Communication Foundation) pro všechny zprávy zpracovávané klientskou aplikací.

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
Dědičnost
ClientRuntime
Dědičnost

Příklady

V následujícím příkladu System.ServiceModel.Description.IEndpointBehavior kódu vloží System.ServiceModel.Dispatcher.IClientMessageInspector do modulu runtime klienta přidáním do MessageInspectors vlastnosti.

#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

Následující příklad kódu ukazuje konfigurační soubor, který načte chování koncového bodu do koncového bodu klienta.

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

Poznámky

Klientské objekty WCF, ať už rozšíření ClientBase<TChannel> nebo z IClientChannel, jsou používány klientskými aplikacemi WCF (Windows Communication Foundation) k převodu volání metody na odchozí zprávy a převod příchozích zpráv na objekty a jejich předání výsledkům klientských metod.

Třída ClientRuntime je rozšiřitelný bod, do kterého můžete přidat rozšiřující objekty, které zachycují zprávy a rozšiřují chování klienta napříč všemi operacemi. Objekty průsečíku mohou zpracovávat všechny zprávy v určitém kontraktu, zpracovávat pouze zprávy pro konkrétní operace, provádět inicializaci vlastního kanálu a implementovat další chování vlastní klientské aplikace. Přehled architektury klienta najdete v tématu Architektura klienta WCF. Další informace o programování klientů naleznete v tématu Přístup ke službám pomocí klienta WCF. Podrobnosti o vlastních nastaveních a jejich provedení najdete v tématu Rozšíření klientů.

  • Vlastnost CallbackDispatchRuntime vrátí objekt runtime dispatch pro operace zpětného volání iniciované službou.

  • Vlastnost OperationSelector přijímá objekt selektoru vlastní operace pro řízení směrování zpráv klienta.

  • Tato ChannelInitializers vlastnost umožňuje přidání inicializátoru kanálu, který může zkontrolovat nebo upravit klientský kanál.

  • Vlastnost InteractiveChannelInitializers lze použít k zobrazení vizuální výzvy k povolení výběru přihlašovacích údajů uživatele před otevřením kanálu.

  • Vlastnost Operations získá kolekci objektů ClientOperation, do kterých můžete přidat vlastní zachytávače zpráv, které poskytují funkcionalitu specifickou pro zprávy této operace.

  • Tato ManualAddressing vlastnost umožňuje aplikaci vypnout některá automaticky přidávaná záhlaví pro přímé řízení adresování.

  • Vlastnost MaxFaultSize umožňuje klientovi omezit velikost chybových zpráv, které klient přijímá.

  • Vlastnost MessageInspectors získá kolekci IClientMessageInspector objektů, do kterých můžete přidat vlastní průsečíky zpráv pro všechny zprávy cestující přes klienta.

  • Vlastnost UnhandledClientOperation vrátí operaci, do které jsou předány neočekávané zprávy.

  • Vlastnost ValidateMustUnderstand informuje systém, zda má potvrdit, že hlavičky SOAP označené jako MustUnderstand byly ve skutečnosti srozumitelné.

  • Vlastnost Via nastaví hodnotu cíle zprávy na úrovni přenosu pro podporu zprostředkovatelů a dalších scénářů.

Kromě toho existuje řada dalších vlastností, které načítají informace o kontraktu klienta:

Pokud je klient duplexní klient, následující vlastnosti také načtou typ zpětného volání klienta a modul runtime:

Vlastnosti

Name Description
CallbackClientType

Získá nebo nastaví typ kontraktu zpětného volání přidruženého k duplexnímu klientovi.

CallbackDispatchRuntime

Získá čas spuštění dispečera, který odesílá operace iniciované službou.

ChannelInitializers

Získá kolekci objektů inicializátoru kanálu, které slouží k přizpůsobení kanálu přidruženého k klientovi.

ClientMessageInspectors

Získá kolekci objektů kontroly zpráv používané k zobrazení nebo úpravě zpráv konkrétní operace služby.

ClientOperations

Získá kolekci objektů operací klienta používané k připojení rozšiřujících objektů, které kontrolují nebo upravují zprávy a chování konkrétní operace služby.

ContractClientType

Získá nebo nastaví typ kontraktu přidruženého k klientovi.

ContractName

Získá název kontraktu přidruženého k klientovi.

ContractNamespace

Získá obor názvů kontraktu přidruženého k klientovi.

InteractiveChannelInitializers

Získá kolekci inicializátoru interaktivního kanálu.

ManualAddressing

Získá nebo nastaví hodnotu, která označuje, zda klient přidá hlavičky adresování do zpráv odpovědí na požadavek.

MaxFaultSize

Získá nebo nastaví maximální velikost chyby.

MessageInspectors

Získá kolekci implementací kontroly zpráv pro klienta.

MessageVersionNoneFaultsEnabled

Získá nebo nastaví hodnotu, která určuje, zda MessageVersionNoneFaultsEnabled vlastnost je nastavena.

Operations

Získá kolekci klientských operací pro klienta.

OperationSelector

Získá nebo nastaví implementaci IClientOperationSelector , kterou lze použít k výběru ClientOperation.

UnhandledClientOperation

Získá klient operace pro metody, které nemají odpovídající ClientOperation v kolekci Operations .

ValidateMustUnderstand

Získá nebo nastaví hodnotu, která určuje, zda systém nebo aplikace vynucuje zpracování hlaviček SOAP MustUnderstand .

Via

Získá nebo nastaví přenosovou adresu, která se používá k odesílání zpráv prostřednictvím klienta.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro