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
- BreakSafeBase.cs
- ContainerUtilities.cs
- EntityWithChangeTrackerStrategy.cs
- ChameleonKey.cs
- GetPageCompletedEventArgs.cs
- ActivityIdHeader.cs
- DataBoundControlAdapter.cs
- SecureUICommand.cs
- SelectionWordBreaker.cs
- ShapeTypeface.cs
- ConnectorSelectionGlyph.cs
- CodeObjectCreateExpression.cs
- BinaryReader.cs
- ObjectComplexPropertyMapping.cs
- TextTabProperties.cs
- SchemaImporter.cs
- MemoryStream.cs
- QueryReaderSettings.cs
- ConfigXmlAttribute.cs
- DefaultSection.cs
- ParserStack.cs
- DisplayMemberTemplateSelector.cs
- CatchBlock.cs
- DynamicQueryableWrapper.cs
- XslAst.cs
- WebPartsPersonalization.cs
- SafeSecurityHelper.cs
- AppSettingsExpressionBuilder.cs
- ServiceHostingEnvironment.cs
- ClientConfigPaths.cs
- FormatConvertedBitmap.cs
- ProfileServiceManager.cs
- RepeatInfo.cs
- StatusBarPanelClickEvent.cs
- ServicePrincipalNameElement.cs
- AttributeCollection.cs
- StringComparer.cs
- BitmapEffectDrawingContextWalker.cs
- ComEventsSink.cs
- PackageProperties.cs
- WebPartUserCapability.cs
- DrawingCollection.cs
- NumericUpDown.cs
- Monitor.cs
- ServiceProviders.cs
- TransformationRules.cs
- EllipseGeometry.cs
- BezierSegment.cs
- ResourceDisplayNameAttribute.cs
- TransformedBitmap.cs
- HGlobalSafeHandle.cs
- TextElement.cs
- EncodingNLS.cs
- SmiSettersStream.cs
- DocumentGridContextMenu.cs
- XslAstAnalyzer.cs
- HttpAsyncResult.cs
- ModuleBuilder.cs
- TraceEventCache.cs
- SafeEventLogWriteHandle.cs
- SqlResolver.cs
- SoapEnumAttribute.cs
- DynamicRouteExpression.cs
- ListBindingHelper.cs
- IMembershipProvider.cs
- OracleLob.cs
- DataGridBoolColumn.cs
- HttpApplicationFactory.cs
- SettingsBindableAttribute.cs
- ADMembershipProvider.cs
- XmlAttributeAttribute.cs
- DelegatingHeader.cs
- PageContent.cs
- Stylesheet.cs
- BulletedListEventArgs.cs
- TextSpan.cs
- DescendantBaseQuery.cs
- WindowHideOrCloseTracker.cs
- DrawingContext.cs
- NativeMethods.cs
- TouchFrameEventArgs.cs
- PeerNodeAddress.cs
- ButtonBase.cs
- ThreadStaticAttribute.cs
- ReaderWriterLockWrapper.cs
- DataSysAttribute.cs
- SmtpDigestAuthenticationModule.cs
- TreeWalkHelper.cs
- CapabilitiesPattern.cs
- CodeTypeOfExpression.cs
- ReferencedAssembly.cs
- StatusBarItemAutomationPeer.cs
- IndentTextWriter.cs
- WebEvents.cs
- PriorityQueue.cs
- ComponentDispatcher.cs
- ListViewCancelEventArgs.cs
- OdbcConnectionFactory.cs
- SectionXmlInfo.cs
- MissingMethodException.cs