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
- HeaderElement.cs
- XmlSchemaAttributeGroup.cs
- ToolStripManager.cs
- MenuCommand.cs
- Process.cs
- UniqueConstraint.cs
- Brushes.cs
- OperationValidationEventArgs.cs
- InkCanvasAutomationPeer.cs
- FilteredAttributeCollection.cs
- httpapplicationstate.cs
- LayoutEvent.cs
- MsmqInputChannelBase.cs
- XsltArgumentList.cs
- EmptyStringExpandableObjectConverter.cs
- TypeListConverter.cs
- CompilerTypeWithParams.cs
- RegistryKey.cs
- SchemaSetCompiler.cs
- SoapIncludeAttribute.cs
- TypeDelegator.cs
- DeleteHelper.cs
- AnchoredBlock.cs
- SystemWebCachingSectionGroup.cs
- DropTarget.cs
- TypeInitializationException.cs
- ByteConverter.cs
- IsolatedStorageFilePermission.cs
- Transform.cs
- InvalidAsynchronousStateException.cs
- ToolTip.cs
- DataViewSettingCollection.cs
- TemplatedWizardStep.cs
- GenericWebPart.cs
- GiveFeedbackEventArgs.cs
- CaseInsensitiveOrdinalStringComparer.cs
- IProvider.cs
- SqlConnectionStringBuilder.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- HttpListenerException.cs
- DecoderFallback.cs
- DefaultTraceListener.cs
- MarkupCompilePass2.cs
- DataError.cs
- AuthenticatedStream.cs
- ToolStripSplitButton.cs
- Base64Stream.cs
- Token.cs
- Globals.cs
- PackageStore.cs
- SByteConverter.cs
- AutoScrollExpandMessageFilter.cs
- ReadOnlyDictionary.cs
- DocumentViewerBaseAutomationPeer.cs
- EndOfStreamException.cs
- MSHTMLHost.cs
- CmsInterop.cs
- CssTextWriter.cs
- WCFModelStrings.Designer.cs
- TrustSection.cs
- WindowsImpersonationContext.cs
- SamlConstants.cs
- PathParser.cs
- NumberEdit.cs
- UnknownExceptionActionHelper.cs
- ZoneMembershipCondition.cs
- ReaderOutput.cs
- ControlUtil.cs
- XLinq.cs
- TriggerAction.cs
- ApplicationDirectoryMembershipCondition.cs
- ParameterReplacerVisitor.cs
- WebDisplayNameAttribute.cs
- Events.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- DesignerLabelAdapter.cs
- DynamicQueryStringParameter.cs
- DbMetaDataFactory.cs
- XmlAttribute.cs
- BindingCompleteEventArgs.cs
- ControlEvent.cs
- NavigationEventArgs.cs
- XmlLanguageConverter.cs
- Site.cs
- Misc.cs
- BCryptSafeHandles.cs
- ToolStripRendererSwitcher.cs
- PocoEntityKeyStrategy.cs
- MetadataArtifactLoaderComposite.cs
- EventSinkHelperWriter.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- ExpressionParser.cs
- TextEditorSpelling.cs
- RuleSetCollection.cs
- DefaultTextStoreTextComposition.cs
- Formatter.cs
- SqlDataAdapter.cs
- _ConnectOverlappedAsyncResult.cs
- SHA384.cs
- Point4D.cs