ClientRuntime Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Einfügemarke für Klassen dar, die die Funktionalität von Windows Communication Foundation (WCF)-Clientobjekten für alle Nachrichten erweitern, die von einer Clientanwendung behandelt werden.
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
- Vererbung
-
ClientRuntime
- Vererbung
Beispiele
Im folgenden Codebeispiel wird eine System.ServiceModel.Description.IEndpointBehaviorSystem.ServiceModel.Dispatcher.IClientMessageInspector in die Clientlaufzeit eingefügt, indem sie der MessageInspectors Eigenschaft hinzugefügt wird.
#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
Das folgende Codebeispiel zeigt eine Konfigurationsdatei, die das Endpunktverhalten in den Clientendpunkt lädt.
<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>
Hinweise
WCF-Clientobjekte, unabhängig davon, ob eine Erweiterung von ClientBase<TChannel> oder von IClientChannel, werden von Windows Communication Foundation (WCF)-Clientanwendungen verwendet, um Methodenaufrufe in ausgehende Nachrichten zu konvertieren und eingehende Nachrichten in Objekte zu konvertieren und sie an die Ergebnisse von Clientmethoden zu übergeben.
Die ClientRuntime Klasse ist ein Erweiterbarkeitspunkt, an dem Sie Erweiterungsobjekte hinzufügen können, die Nachrichten abfangen und das Clientverhalten über alle Vorgänge hinweg erweitern können. Interception-Objekte können alle Nachrichten in einem bestimmten Vertrag verarbeiten, nur Nachrichten für bestimmte Vorgänge verarbeiten, benutzerdefinierte Kanalinitialisierung durchführen und andere benutzerdefinierte Clientanwendungsverhalten implementieren. Eine Übersicht über die Clientarchitektur finden Sie unter WCF-Clientarchitektur. Weitere Informationen zur Clientprogrammierung finden Sie unter "Zugreifen auf Dienste mithilfe eines WCF-Clients". Ausführliche Informationen zu Anpassungen und deren Ausführung finden Sie unter Erweitern von Clients.
Die CallbackDispatchRuntime Eigenschaft gibt das Laufzeitobjekt für vom Dienst initiierte Rückrufvorgänge zurück.
Die OperationSelector Eigenschaft akzeptiert ein benutzerdefiniertes Vorgangsauswahlobjekt, um das Routing von Clientnachrichten zu steuern.
Die ChannelInitializers Eigenschaft ermöglicht das Hinzufügen eines Kanalinitialisierers, der den Clientkanal prüfen oder ändern kann.
Die InteractiveChannelInitializers Eigenschaft kann verwendet werden, um eine visuelle Eingabeaufforderung anzuzeigen, damit ein Benutzer vor dem Öffnen des Kanals Anmeldeinformationen auswählen kann.
Die Operations Eigenschaft ruft eine Auflistung von ClientOperation Objekten ab, zu denen Sie benutzerdefinierte Nachrichten-Interzeptoren hinzufügen können, die Funktionen bereitstellen, die spezifisch für die Nachrichten dieser Operation sind.
Die ManualAddressing Eigenschaft ermöglicht es einer Anwendung, einige automatische Adressierungsheader zu deaktivieren, um die Adressierung direkt zu steuern.
Die MaxFaultSize Eigenschaft ermöglicht es dem Client, die Größe von Fehlermeldungen zu begrenzen, die der Client akzeptiert.
Die MessageInspectors Eigenschaft ruft eine Auflistung von IClientMessageInspector Objekten ab, denen Sie benutzerdefinierte Nachrichten-Interceptors für alle Nachrichten hinzufügen können, die über einen Client reisen.
Die UnhandledClientOperation Eigenschaft gibt den Vorgang zurück, an den unerwartete Nachrichten übergeben werden.
Die ValidateMustUnderstand Eigenschaft informiert das System darüber, ob es bestätigen soll, dass SOAP-Header, die als
MustUnderstand"tatsächlich" gekennzeichnet sind, verstanden wurden.Die Via Eigenschaft legt den Wert des Ziels der Nachricht auf Transportebene fest, um Vermittler und andere Szenarien zu unterstützen.
Darüber hinaus gibt es eine Reihe anderer Eigenschaften, die die Clientvertragsinformationen abrufen:
Wenn der Client ein Duplexclient ist, rufen die folgenden Eigenschaften auch den Clientrückruftyp und die Laufzeit ab:
Eigenschaften
| Name | Beschreibung |
|---|---|
| CallbackClientType |
Dient zum Abrufen oder Festlegen des Typs des Rückrufvertrags, der einem Duplexclient zugeordnet ist. |
| CallbackDispatchRuntime |
Ruft die Verteilerlaufzeit ab, die vom Dienst initiierte Vorgänge verteilt. |
| ChannelInitializers |
Ruft eine Auflistung von Kanalinitialisierungsobjekten ab, die zum Anpassen des Kanals verwendet werden, der einem Client zugeordnet ist. |
| ClientMessageInspectors |
Ruft eine Auflistung von Nachrichtenprüfungsobjekten ab, die zum Anzeigen oder Ändern von Nachrichten eines bestimmten Dienstvorgangs verwendet werden. |
| ClientOperations |
Ruft eine Auflistung von Clientvorgangsobjekten ab, die zum Anfügen von Erweiterungsobjekten verwendet werden, die Nachrichten und Verhalten eines bestimmten Dienstvorgangs überprüfen oder ändern. |
| ContractClientType |
Dient zum Abrufen oder Festlegen des Typs des Vertrags, der einem Client zugeordnet ist. |
| ContractName |
Ruft den Namen des Vertrags ab, der einem Client zugeordnet ist. |
| ContractNamespace |
Ruft den Namespace des Vertrags ab, der einem Client zugeordnet ist. |
| InteractiveChannelInitializers |
Ruft eine Auflistung eines interaktiven Kanalinitialisierer ab. |
| ManualAddressing |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Client Adresszeilen zu Anforderungsantwortnachrichten hinzufügt. |
| MaxFaultSize |
Ruft die maximale Fehlergröße ab oder legt sie fest. |
| MessageInspectors |
Ruft eine Sammlung von Nachrichteninspektorimplementierungen für einen Client ab. |
| MessageVersionNoneFaultsEnabled |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die MessageVersionNoneFaultsEnabled -Eigenschaft festgelegt ist. |
| Operations |
Ruft eine Sammlung von Clientvorgängen für einen Client ab. |
| OperationSelector |
Dient zum Abrufen oder Festlegen einer IClientOperationSelector Implementierung, die zum Auswählen einer ClientOperation. |
| UnhandledClientOperation |
Ruft den Clientvorgang für Methoden ab, die nicht über eine entsprechende ClientOperation In der Operations Auflistung verfügen. |
| ValidateMustUnderstand |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das System oder die Anwendung die SOAP-Headerverarbeitung |
| Via |
Ruft die Transportadresse ab, die zum Senden von Nachrichten über den Client verwendet wird, oder legt diese fest. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |