| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- //----------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //----------------------------------------------------------------
- namespace System.ServiceModel
- {
- using System.ServiceModel.Channels;
- using System.ServiceModel.Dispatcher;
- using System.ServiceModel.Description;
- [AttributeUsage(ServiceModelAttributeTargets.OperationBehavior)]
- public sealed class ReceiveContextEnabledAttribute : Attribute, IOperationBehavior
- {
- public ReceiveContextEnabledAttribute()
- {
- }
- public bool ManualControl
- {
- get;
- set;
- }
- public void Validate(OperationDescription operationDescription)
- {
- }
- public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
- {
- if (operationDescription == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("operationDescription");
- }
- if (dispatchOperation == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dispatchOperation");
- }
- if (this.ManualControl)
- {
- dispatchOperation.ReceiveContextAcknowledgementMode = ReceiveContextAcknowledgementMode.ManualAcknowledgement;
- }
- else
- {
- dispatchOperation.ReceiveContextAcknowledgementMode = ReceiveContextAcknowledgementMode.AutoAcknowledgeOnRPCComplete;
- }
- }
- public void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation)
- {
- }
- public void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters)
- {
- }
- }
- }
|