Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / OperationBehaviorAttribute.cs / 1 / OperationBehaviorAttribute.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System.Reflection; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; using System.ServiceModel.Description; using System.Transactions; using System.ServiceModel.Security; using System.Security.Principal; using System.Collections.Generic; [AttributeUsage(ServiceModelAttributeTargets.OperationBehavior)] public sealed class OperationBehaviorAttribute : Attribute, IOperationBehavior { internal const ImpersonationOption DefaultImpersonationOption = ImpersonationOption.NotAllowed; bool autoCompleteTransaction = true; bool autoEnlistTransaction = false; bool autoDisposeParameters = true; ImpersonationOption impersonation = ImpersonationOption.NotAllowed; ReleaseInstanceMode releaseInstance = ReleaseInstanceMode.None; public bool TransactionAutoComplete { get { return this.autoCompleteTransaction; } set { this.autoCompleteTransaction = value; } } public bool TransactionScopeRequired { get { return this.autoEnlistTransaction; } set { this.autoEnlistTransaction = value; } } public bool AutoDisposeParameters { get { return this.autoDisposeParameters; } set { this.autoDisposeParameters = value; } } public ImpersonationOption Impersonation { get { return this.impersonation; } set { if (!ImpersonationOptionHelper.IsDefined(value)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); this.impersonation = value; } } public ReleaseInstanceMode ReleaseInstanceMode { get { return this.releaseInstance; } set { if (!ReleaseInstanceModeHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.releaseInstance = value; } } void IOperationBehavior.Validate(OperationDescription description) { } void IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters) { } void IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch) { if (description == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("description"); } if (dispatch == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dispatch"); } if (description.IsServerInitiated() && this.releaseInstance != ReleaseInstanceMode.None) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR.GetString(SR.SFxOperationBehaviorAttributeReleaseInstanceModeDoesNotApplyToCallback, description.Name))); } dispatch.TransactionRequired = this.autoEnlistTransaction; dispatch.TransactionAutoComplete = this.autoCompleteTransaction; dispatch.AutoDisposeParameters = this.autoDisposeParameters; dispatch.ReleaseInstanceBeforeCall = (this.releaseInstance & ReleaseInstanceMode.BeforeCall) != 0; dispatch.ReleaseInstanceAfterCall = (this.releaseInstance & ReleaseInstanceMode.AfterCall) != 0; dispatch.Impersonation = this.Impersonation; } void IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy) { } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RoutedUICommand.cs
- TextPattern.cs
- PartialCachingControl.cs
- CompareValidator.cs
- PropertyInfo.cs
- CodeGenerationManager.cs
- COM2PropertyBuilderUITypeEditor.cs
- ContentTextAutomationPeer.cs
- BadImageFormatException.cs
- GridItemPattern.cs
- TrackingProfileSerializer.cs
- MemberRelationshipService.cs
- JulianCalendar.cs
- BaseCodeDomTreeGenerator.cs
- RemoteWebConfigurationHostStream.cs
- PropertyGeneratedEventArgs.cs
- RadioButtonAutomationPeer.cs
- HwndTarget.cs
- Executor.cs
- Lazy.cs
- HiddenField.cs
- CapabilitiesAssignment.cs
- CodeTypeConstructor.cs
- DesignerObjectListAdapter.cs
- LinqDataSourceInsertEventArgs.cs
- CollectionContainer.cs
- FlowDecision.cs
- XmlNodeList.cs
- WebPartConnectionsConnectVerb.cs
- UnionCqlBlock.cs
- Base64Decoder.cs
- EmptyEnumerable.cs
- DbParameterHelper.cs
- FileReservationCollection.cs
- RootBuilder.cs
- xsdvalidator.cs
- SimpleHandlerBuildProvider.cs
- AstNode.cs
- TextInfo.cs
- graph.cs
- NameValuePermission.cs
- PropertyGridCommands.cs
- XmlDocument.cs
- CodeTypeDeclaration.cs
- SiteMapPath.cs
- FrameworkContentElement.cs
- ClientRolePrincipal.cs
- ParenthesizePropertyNameAttribute.cs
- TrustLevel.cs
- Schema.cs
- DirectionalLight.cs
- UserPreferenceChangedEventArgs.cs
- Viewport2DVisual3D.cs
- WSHttpBindingCollectionElement.cs
- EventWaitHandle.cs
- LassoSelectionBehavior.cs
- XPathParser.cs
- UInt16Converter.cs
- ConfigurationManagerHelper.cs
- EngineSite.cs
- WebPartChrome.cs
- ReachDocumentPageSerializerAsync.cs
- PasswordTextNavigator.cs
- _HTTPDateParse.cs
- ScanQueryOperator.cs
- RepeaterItem.cs
- PointHitTestResult.cs
- XmlSignatureManifest.cs
- UnlockCardRequest.cs
- TextRenderer.cs
- ListChangedEventArgs.cs
- ArrayExtension.cs
- ScrollData.cs
- RegistryDataKey.cs
- DateTimeValueSerializerContext.cs
- PersistenceTypeAttribute.cs
- XmlDomTextWriter.cs
- LinkLabel.cs
- DrawingAttributeSerializer.cs
- ButtonBase.cs
- ComplusTypeValidator.cs
- XPathParser.cs
- XsdCachingReader.cs
- FactoryGenerator.cs
- PreviewPrintController.cs
- InputProcessorProfiles.cs
- BulletedList.cs
- DateTimeFormatInfo.cs
- XmlImplementation.cs
- CompleteWizardStep.cs
- RadioButtonList.cs
- NavigateUrlConverter.cs
- CodeObject.cs
- ToolbarAUtomationPeer.cs
- MatrixTransform.cs
- KnownAssemblyEntry.cs
- PropertyPushdownHelper.cs
- TextMarkerSource.cs
- KnownTypes.cs
- ConfigurationPropertyCollection.cs