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
- BrowserCapabilitiesCodeGenerator.cs
- XmlSchemaSimpleTypeList.cs
- HttpWriter.cs
- DashStyles.cs
- Events.cs
- OrderPreservingPipeliningSpoolingTask.cs
- XPathPatternBuilder.cs
- EnumerableRowCollectionExtensions.cs
- ReadOnlyDictionary.cs
- RsaSecurityTokenParameters.cs
- DataGridViewCellStyleConverter.cs
- UIAgentAsyncParams.cs
- DeadCharTextComposition.cs
- ViewManager.cs
- XsltInput.cs
- DrawingServices.cs
- HScrollProperties.cs
- HostedElements.cs
- _UriSyntax.cs
- EncoderReplacementFallback.cs
- TextEditorTyping.cs
- _AutoWebProxyScriptHelper.cs
- CompositionTarget.cs
- VectorAnimationBase.cs
- ValidatorCompatibilityHelper.cs
- Operand.cs
- PolyBezierSegmentFigureLogic.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- ArraySet.cs
- AnimatedTypeHelpers.cs
- Listbox.cs
- PrintDocument.cs
- ChtmlTextWriter.cs
- Token.cs
- XPathException.cs
- Size3DConverter.cs
- DoubleConverter.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- SelectorItemAutomationPeer.cs
- ObjectSpanRewriter.cs
- loginstatus.cs
- TableDetailsRow.cs
- TextEndOfLine.cs
- DefaultObjectMappingItemCollection.cs
- CustomGrammar.cs
- SoapClientMessage.cs
- ForwardPositionQuery.cs
- DataControlPagerLinkButton.cs
- GcHandle.cs
- SqlDependency.cs
- ContentPathSegment.cs
- ColumnMapCopier.cs
- CompilerScopeManager.cs
- PackageStore.cs
- UniqueEventHelper.cs
- ListenUriMode.cs
- ObjectMemberMapping.cs
- RelationshipFixer.cs
- HtmlEncodedRawTextWriter.cs
- XmlQueryContext.cs
- EventProxy.cs
- GlobalProxySelection.cs
- UTF8Encoding.cs
- ListControl.cs
- WebPartConnectionsCancelVerb.cs
- ModuleConfigurationInfo.cs
- UnsafeNativeMethods.cs
- DataGridViewCellStyleChangedEventArgs.cs
- EmptyReadOnlyDictionaryInternal.cs
- DynamicFilterExpression.cs
- FormCollection.cs
- PerformanceCountersElement.cs
- IIS7WorkerRequest.cs
- DetailsViewUpdateEventArgs.cs
- MappingSource.cs
- _AutoWebProxyScriptWrapper.cs
- Quaternion.cs
- ContentElement.cs
- ToolStripPanelCell.cs
- arc.cs
- JsonFormatReaderGenerator.cs
- SqlMetaData.cs
- XmlDataSourceView.cs
- MessageQueueKey.cs
- TripleDESCryptoServiceProvider.cs
- TypeConverterAttribute.cs
- ToolStripItemEventArgs.cs
- AtomEntry.cs
- NamedElement.cs
- OracleInternalConnection.cs
- TimelineClockCollection.cs
- StrongName.cs
- ImageSource.cs
- StatusBar.cs
- ByteStorage.cs
- DisplayMemberTemplateSelector.cs
- DataRowExtensions.cs
- TimerEventSubscriptionCollection.cs
- Semaphore.cs
- SchemaNotation.cs