Sdílet prostřednictvím


ClientRuntime Třída

Definice

Představuje kurzor pro třídy, které rozšiřují funkce Windows Communication Foundation (WCF) objekty klienta 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ží do System.ServiceModel.Dispatcher.IClientMessageInspector modulu runtime klienta jeho 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 Windows Communication Foundation (WCF) 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 bod rozšiřitelnosti, 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 interceptionu 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 přizpůsobení a jejich provádění 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á vlastní objekt selektoru operací pro řízení směrování klientských zpráv.

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

  • 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 ClientOperation objektů, do kterých můžete přidat vlastní zachytávání zpráv, které poskytují funkce specifické pro zprávy dané operace.

  • Tato ManualAddressing vlastnost umožňuje aplikaci vypnout některé hlavičky automatického adresování, které přímo řídí 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í zachytávání zpráv pro všechny zprávy procházející klientem.

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

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

  • Vlastnost Via nastaví hodnotu cíle zprávy na úrovni přepravy 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ím klientem, načtěte také následující vlastnosti typ zpětného volání klienta a modul runtime:

Vlastnosti

CallbackClientType

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

CallbackDispatchRuntime

Získá dispečer run-time, který odesílá operace iniciované službou.

ChannelInitializers

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

ClientMessageInspectors

Získá kolekci objektů inspektoru zpráv, které slouží k zobrazení nebo úpravě zpráv konkrétní operace služby.

ClientOperations

Získá kolekci objektů klientských operací sloužících 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 žádost.

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á označ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čky 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

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Type Získá aktuální instanci.

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

Vytvoří použádnou kopii aktuálního souboru Object.

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

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

(Zděděno od Object)

Platí pro