ClientOperation 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.
Wordt gebruikt om het uitvoeringsgedrag van een specifieke contractbewerking in een clientobject of clientkanaalobject te wijzigen of uit te breiden. Deze klasse kan niet worden overgenomen.
public ref class ClientOperation sealed
public ref class ClientOperation sealed : System::ServiceModel::Dispatcher::ClientOperationCompatBase
public sealed class ClientOperation
public sealed class ClientOperation : System.ServiceModel.Dispatcher.ClientOperationCompatBase
type ClientOperation = class
type ClientOperation = class
inherit ClientOperationCompatBase
Public NotInheritable Class ClientOperation
Public NotInheritable Class ClientOperation
Inherits ClientOperationCompatBase
- Overname
-
ClientOperation
- Overname
Voorbeelden
In het volgende codevoorbeeld ziet u een System.ServiceModel.Description.IEndpointBehavior aangepaste parametercontrole invoegen in elk ClientOperation van de ClientRuntime.Operations eigenschappen.
#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
Opmerkingen
De ClientOperation klasse is de locatie voor runtimewijzigingen van de client en het invoegpunt voor aangepaste extensies die beperkt zijn tot slechts één servicebewerking. (Als u het runtimegedrag van de client wilt wijzigen voor alle berichten in een contract, gebruikt u de ClientRuntime klasse. )
Installeer ClientOperation wijzigingen met behulp van een aangepast clientgedragsobject, van het type IContractBehavior (om een bepaalde bewerking te vinden die moet worden gewijzigd) of van het type IOperationBehavior (dat vervolgens kan worden toegepast door een aangepast kenmerk te maken).
Gebruik de Operations eigenschap om het ClientOperation object te zoeken dat een bepaalde servicebewerking vertegenwoordigt.
Zie Accessing Services using a WCF Client and WCF Client Architecture (Toegang tot services met behulp van een WCF-client en WCF-clientarchitectuur) voor meer informatie over clients en de clientarchitectuur. Zie Clients uitbreiden voor meer informatie over het aanpassen van de clientruntime. Zie De runtime configureren en uitbreiden met gedrag voor meer informatie over het gebruik van gedrag.
Met de volgende eigenschappen kunt u aangepaste objecten invoegen of het gedrag van de clientuitvoering wijzigen:
Gebruik de Formatter eigenschap om een aangepaste IClientMessageFormatter implementatie in te voegen voor een bewerking of om de huidige formatter te wijzigen.
Gebruik de ParameterInspectors eigenschap om een aangepaste IParameterInspector implementatie in te voegen of om de huidige te wijzigen.
Gebruik de SerializeRequest eigenschap om te bepalen wie een uitgaand bericht serialiseert.
Gebruik de DeserializeReply eigenschap om te bepalen wie een binnenkomend bericht deserializeert.
Gebruik de Action eigenschap voor toegang tot de actie WS-Addressing van het aanvraagbericht en de ReplyAction eigenschap voor toegang tot de actie antwoordbericht.
Gebruik de BeginMethod en EndMethod om op te geven welke clientmethoden zijn gekoppeld aan een asynchrone bewerking.
Gebruik de FaultContractInfos eigenschap om een verzameling opgegeven typen op te halen die in SOAP-fouten kunnen worden weergegeven als het detailtype.
Gebruik de IsInitiating en IsTerminating eigenschappen om te bepalen of een sessie wordt gestart of wordt afgebroken wanneer de bewerking wordt aangeroepen.
Gebruik de IsOneWay eigenschap om te bepalen of de client wacht op een antwoord voordat de aanroep wordt voltooid.
Gebruik de Parent eigenschap om het bijbehorende ClientRuntime object te verkrijgen.
Gebruik de Name eigenschap om de naam van de bewerking op te halen.
Gebruik de SyncMethod eigenschap om te bepalen welke methode aan de bewerking is toegewezen.
Constructors
| Name | Description |
|---|---|
| ClientOperation(ClientRuntime, String, String, String) |
Initialiseert een nieuw exemplaar van de ClientOperation klasse met behulp van de opgegeven ClientRuntimewaarden, naam, actie en antwoordactie. |
| ClientOperation(ClientRuntime, String, String) |
Initialiseert een nieuw exemplaar van de ClientOperation klasse met behulp van de opgegeven ClientRuntime, naam en actiewaarden. |
Eigenschappen
| Name | Description |
|---|---|
| Action |
Hiermee haalt u de actie van de bewerking op. |
| BeginMethod |
Hiermee haalt u de methode op die is gekoppeld aan een asynchrone bewerking of stelt u deze in. |
| ClientParameterInspectors |
Hiermee haalt u een verzameling parametercontroleobjecten op die worden gebruikt om parameters vóór of na een clientaanroep weer te geven of te wijzigen. |
| DeserializeReply |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de Formatter eigenschapswaarde wordt gebruikt om het antwoordbericht te deserialiseren. |
| EndMethod |
Hiermee haalt u de methode op waarmee de asynchrone eindmethode voor de bewerking wordt geïmplementeerd of ingesteld. |
| FaultContractInfos |
Hiermee haalt u een verzameling FaultContractInfo objecten op die de opgegeven SOAP-fouten voor deze bewerking vertegenwoordigen. |
| Formatter |
Hiermee haalt u de formatter op waarmee objecten worden geserialiseerd in berichten en worden berichten gedeserialiseerd in objecten. |
| IsInitiating |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een sessie kan worden gestart door een bericht naar deze bewerking. |
| IsOneWay |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de bewerking een eenrichtingsbewerking is. |
| IsTerminating |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of deze bewerking de laatste in een sessie is. |
| Name |
Hiermee haalt u de naam van de bewerking op. |
| ParameterInspectors |
Hiermee haalt u een verzameling IParameterInspector objecten op die binnenkomende en uitgaande objecten voor een bepaalde clientmethode kunnen inspecteren en wijzigen. |
| Parent |
Hiermee haalt u het bijbehorende ClientRuntime object op. |
| ReplyAction |
Hiermee haalt u de actie van het antwoordbericht voor deze bewerking op. |
| SerializeRequest |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het Formatter object een uitgaand bericht serialiseert. |
| SyncMethod |
Hiermee haalt u de methode op die aan deze bewerking is gekoppeld of stelt u deze in. |
| TaskMethod |
Hiermee haalt u de methode op die aan een taak is gekoppeld of stelt u deze in. |
| TaskTResult |
Hiermee haalt u het type op van het resultaat van de methode die aan een taak is gekoppeld. |
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) |