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
- HorizontalAlignConverter.cs
- RSATokenProvider.cs
- DataExpression.cs
- SoundPlayerAction.cs
- Connection.cs
- HtmlForm.cs
- HtmlInputControl.cs
- SystemTcpStatistics.cs
- WebHeaderCollection.cs
- XmlSchemaProviderAttribute.cs
- NameScope.cs
- MenuAutoFormat.cs
- XmlNamespaceManager.cs
- CollectionEditor.cs
- XmlAggregates.cs
- CodeRegionDirective.cs
- recordstate.cs
- _TransmitFileOverlappedAsyncResult.cs
- ResourceManagerWrapper.cs
- ScrollBar.cs
- AccessKeyManager.cs
- smtpconnection.cs
- HostingEnvironment.cs
- Animatable.cs
- DictionaryEntry.cs
- SpellCheck.cs
- PageThemeCodeDomTreeGenerator.cs
- Hex.cs
- XmlWellformedWriter.cs
- SiteMap.cs
- IsolatedStorageFile.cs
- ServicesExceptionNotHandledEventArgs.cs
- SoapMessage.cs
- _ConnectionGroup.cs
- ObjectContext.cs
- ErrorHandler.cs
- Walker.cs
- EndOfStreamException.cs
- CompiledXpathExpr.cs
- ImageCodecInfo.cs
- OperationInfoBase.cs
- EntityDataSourceUtil.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- BrowsableAttribute.cs
- TextEditorSelection.cs
- Comparer.cs
- IndicShape.cs
- PropertyStore.cs
- NativeMethods.cs
- CodePrimitiveExpression.cs
- CodeTypeDeclaration.cs
- FrameworkRichTextComposition.cs
- WinEventQueueItem.cs
- ApplicationCommands.cs
- BamlRecords.cs
- InputBindingCollection.cs
- RemotingServices.cs
- HostingEnvironment.cs
- RangeValueProviderWrapper.cs
- DispatcherProcessingDisabled.cs
- ServicePerformanceCounters.cs
- OleStrCAMarshaler.cs
- Camera.cs
- PropertyChangedEventManager.cs
- HttpCachePolicyElement.cs
- WindowPattern.cs
- InputChannelBinder.cs
- HttpEncoder.cs
- InputLanguageManager.cs
- NativeObjectSecurity.cs
- RoleGroup.cs
- WindowAutomationPeer.cs
- RegexWorker.cs
- CrossSiteScriptingValidation.cs
- MailBnfHelper.cs
- SqlFlattener.cs
- HttpListener.cs
- FatalException.cs
- CompiledRegexRunner.cs
- RepeaterItem.cs
- ServiceContractGenerator.cs
- DbParameterCollectionHelper.cs
- InitializerFacet.cs
- DeviceContexts.cs
- URLIdentityPermission.cs
- StateMachine.cs
- ActivationProxy.cs
- KeyedPriorityQueue.cs
- DataControlButton.cs
- Pair.cs
- PowerStatus.cs
- TraceContextRecord.cs
- ServiceProviders.cs
- StoreContentChangedEventArgs.cs
- NativeMethods.cs
- CapiHashAlgorithm.cs
- XPathNodeList.cs
- Point4D.cs
- SingleResultAttribute.cs
- DataControlImageButton.cs