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
- PersonalizationProviderCollection.cs
- CodeGenerator.cs
- ResourceDictionaryCollection.cs
- ToolStripAdornerWindowService.cs
- ColorContext.cs
- DispatcherExceptionEventArgs.cs
- ZipIOLocalFileBlock.cs
- ConstraintStruct.cs
- MetadataImporterQuotas.cs
- DataErrorValidationRule.cs
- TransformDescriptor.cs
- ContextStaticAttribute.cs
- TranslateTransform.cs
- TypeForwardedToAttribute.cs
- Library.cs
- PropertyChangeTracker.cs
- VariantWrapper.cs
- AutomationElement.cs
- GridItem.cs
- ContentType.cs
- Mouse.cs
- FixedPageStructure.cs
- BaseValidator.cs
- RealizationContext.cs
- Solver.cs
- BitmapEffectRenderDataResource.cs
- ListControlConvertEventArgs.cs
- IndependentAnimationStorage.cs
- Hex.cs
- TextParagraph.cs
- ExpressionReplacer.cs
- SafeThemeHandle.cs
- ImageField.cs
- _Connection.cs
- InternalConfirm.cs
- FontDialog.cs
- TemplateBamlRecordReader.cs
- Control.cs
- EditCommandColumn.cs
- DelegateSerializationHolder.cs
- _SslState.cs
- SQLInt64Storage.cs
- UpdatePanelControlTrigger.cs
- OperandQuery.cs
- DetailsViewRowCollection.cs
- XmlSchemaSimpleTypeList.cs
- FixedPosition.cs
- XmlReflectionImporter.cs
- PagedDataSource.cs
- CollectionViewProxy.cs
- DocumentPageTextView.cs
- MessageBox.cs
- SourceItem.cs
- SearchExpression.cs
- TraceSwitch.cs
- WebPartDeleteVerb.cs
- TypeReference.cs
- LinqDataSourceSelectEventArgs.cs
- ImpersonationContext.cs
- NeutralResourcesLanguageAttribute.cs
- Simplifier.cs
- GenericAuthenticationEventArgs.cs
- KerberosReceiverSecurityToken.cs
- SqlColumnizer.cs
- MobileControlBuilder.cs
- SplitContainerDesigner.cs
- EntitySqlQueryBuilder.cs
- BinaryConverter.cs
- ArcSegment.cs
- ToolStripHighContrastRenderer.cs
- StringCollectionEditor.cs
- EventSetterHandlerConverter.cs
- SimpleBitVector32.cs
- PageAsyncTask.cs
- EnlistmentTraceIdentifier.cs
- CodeDefaultValueExpression.cs
- CollectionViewProxy.cs
- PropertyGridDesigner.cs
- FormDesigner.cs
- GatewayIPAddressInformationCollection.cs
- LinkDescriptor.cs
- AuthorizationSection.cs
- BatchServiceHost.cs
- DataGridCheckBoxColumn.cs
- TextEditorLists.cs
- TableNameAttribute.cs
- CompressionTransform.cs
- SchemaTypeEmitter.cs
- ThreadInterruptedException.cs
- DataReaderContainer.cs
- OrElse.cs
- BitmapPalettes.cs
- SystemMulticastIPAddressInformation.cs
- ThaiBuddhistCalendar.cs
- isolationinterop.cs
- ObjectHandle.cs
- ConfigurationSchemaErrors.cs
- DropSourceBehavior.cs
- ExpressionBuilder.cs
- ProfileEventArgs.cs