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
- wgx_render.cs
- OracleColumn.cs
- HttpWebResponse.cs
- PathTooLongException.cs
- DefaultIfEmptyQueryOperator.cs
- XsdBuilder.cs
- PeerSecurityManager.cs
- ServiceElementCollection.cs
- BitmapCache.cs
- ContentValidator.cs
- MemoryMappedViewAccessor.cs
- PassportPrincipal.cs
- BaseServiceProvider.cs
- AsyncResult.cs
- ReadContentAsBinaryHelper.cs
- PixelFormat.cs
- XmlSchemaFacet.cs
- ImageClickEventArgs.cs
- Odbc32.cs
- GroupQuery.cs
- BmpBitmapEncoder.cs
- ListItemParagraph.cs
- DNS.cs
- AlternateView.cs
- ThumbAutomationPeer.cs
- LogEntryHeaderSerializer.cs
- LayoutUtils.cs
- StickyNoteContentControl.cs
- ItemsControlAutomationPeer.cs
- ServiceObjectContainer.cs
- ServiceOperationInfoTypeConverter.cs
- ProtocolsConfiguration.cs
- XhtmlBasicLiteralTextAdapter.cs
- ADMembershipUser.cs
- XmlName.cs
- ServiceTimeoutsBehavior.cs
- ScriptComponentDescriptor.cs
- OdbcStatementHandle.cs
- DependencyObjectType.cs
- ErrorStyle.cs
- RequestTimeoutManager.cs
- NetDataContractSerializer.cs
- MarkupWriter.cs
- SaveFileDialog.cs
- SrgsRulesCollection.cs
- GregorianCalendarHelper.cs
- XmlDictionaryReaderQuotas.cs
- GroupJoinQueryOperator.cs
- ApplicationSettingsBase.cs
- EditorAttribute.cs
- DataTableMapping.cs
- SelectionRangeConverter.cs
- DesignerActionVerbItem.cs
- PageParser.cs
- PolyBezierSegmentFigureLogic.cs
- CodeGotoStatement.cs
- BitmapEncoder.cs
- IntegerValidatorAttribute.cs
- Directory.cs
- BasicBrowserDialog.cs
- ClrProviderManifest.cs
- Color.cs
- WpfWebRequestHelper.cs
- GestureRecognitionResult.cs
- VisualStyleElement.cs
- TriState.cs
- OdbcError.cs
- PrintPreviewDialog.cs
- TextBoxLine.cs
- TimeSpanValidatorAttribute.cs
- MethodBuilder.cs
- VectorCollectionConverter.cs
- PagedDataSource.cs
- APCustomTypeDescriptor.cs
- DataControlFieldHeaderCell.cs
- ClassHandlersStore.cs
- ControlBuilder.cs
- ProcessHostMapPath.cs
- UdpDiscoveryEndpointProvider.cs
- BufferModeSettings.cs
- FormsAuthenticationModule.cs
- StreamInfo.cs
- _HeaderInfo.cs
- ColumnWidthChangingEvent.cs
- SizeLimitedCache.cs
- GeneralTransform2DTo3D.cs
- Connector.cs
- StyleSelector.cs
- SystemIPInterfaceProperties.cs
- ContentDesigner.cs
- TableCellAutomationPeer.cs
- ApplicationBuildProvider.cs
- SqlCommandSet.cs
- SafeViewOfFileHandle.cs
- PageParser.cs
- TabRenderer.cs
- HitTestDrawingContextWalker.cs
- WebPartAuthorizationEventArgs.cs
- DecoderReplacementFallback.cs
- UITypeEditor.cs