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
- InternalResources.cs
- DSACryptoServiceProvider.cs
- ListChangedEventArgs.cs
- StylusEditingBehavior.cs
- WizardForm.cs
- DataGridParentRows.cs
- SettingsProviderCollection.cs
- ELinqQueryState.cs
- SqlFactory.cs
- WebScriptServiceHostFactory.cs
- LookupBindingPropertiesAttribute.cs
- GenericWebPart.cs
- EncodingDataItem.cs
- MetadataConversionError.cs
- CalendarTable.cs
- Bezier.cs
- Grant.cs
- AsyncPostBackTrigger.cs
- FilterRepeater.cs
- DateTimeValueSerializer.cs
- GridEntry.cs
- SyndicationDeserializer.cs
- SimpleBitVector32.cs
- ComboBox.cs
- TextBlock.cs
- ErrorFormatter.cs
- XmlIlGenerator.cs
- Funcletizer.cs
- SchemaMapping.cs
- DecoderFallback.cs
- CheckableControlBaseAdapter.cs
- DLinqTableProvider.cs
- VirtualPathUtility.cs
- VariableAction.cs
- StorageComplexPropertyMapping.cs
- XmlDocumentFragment.cs
- CodeTypeMemberCollection.cs
- StringSorter.cs
- QueryOutputWriter.cs
- StructuredTypeInfo.cs
- SecurityState.cs
- HtmlHistory.cs
- LayoutTable.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- KernelTypeValidation.cs
- PagedDataSource.cs
- QueryValue.cs
- _Win32.cs
- SQLRoleProvider.cs
- LabelLiteral.cs
- Unit.cs
- lengthconverter.cs
- SharedStatics.cs
- ToolboxItemWrapper.cs
- XmlDataSourceNodeDescriptor.cs
- HandlerFactoryWrapper.cs
- TabletDeviceInfo.cs
- FontWeights.cs
- FormViewPageEventArgs.cs
- FontStretches.cs
- BuildProviderCollection.cs
- Dynamic.cs
- StringOutput.cs
- CodeTypeDelegate.cs
- OSEnvironmentHelper.cs
- CallbackValidator.cs
- NullableConverter.cs
- XPathDocumentIterator.cs
- Line.cs
- DataRecordObjectView.cs
- PopOutPanel.cs
- InstanceDataCollectionCollection.cs
- LoadWorkflowCommand.cs
- AppSettingsSection.cs
- FormsAuthenticationUserCollection.cs
- WindowInteropHelper.cs
- CheckBoxFlatAdapter.cs
- PauseStoryboard.cs
- WindowsFormsSynchronizationContext.cs
- GridLengthConverter.cs
- TCPClient.cs
- CustomSignedXml.cs
- _DomainName.cs
- EntityCommand.cs
- FreeFormDesigner.cs
- GeometryConverter.cs
- ConfigurationElement.cs
- StreamGeometry.cs
- XPathDocument.cs
- Matrix.cs
- StringArrayConverter.cs
- XmlAttribute.cs
- SoapTypeAttribute.cs
- DesignSurfaceCollection.cs
- CachedFontFamily.cs
- DrawingAttributes.cs
- UIElement.cs
- SQLInt16Storage.cs
- NetworkInformationException.cs
- BinaryObjectReader.cs