ClientRuntime Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
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) |