ClientRuntime Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
MustUnderstanddie 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 |
| 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) |