Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / TransactionFlowAttribute.cs / 1 / TransactionFlowAttribute.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System.Collections.Generic; using System.ServiceModel.Dispatcher; using System.ServiceModel.Description; using System.Reflection; using System.Runtime.Serialization; using System.ServiceModel.Channels; [AttributeUsage(ServiceModelAttributeTargets.OperationBehavior)] public sealed class TransactionFlowAttribute : Attribute, IOperationBehavior { TransactionFlowOption transactions; public TransactionFlowAttribute(TransactionFlowOption transactions) { TransactionFlowBindingElement.ValidateOption(transactions); this.transactions= transactions; } public TransactionFlowOption Transactions { get { return this.transactions; } } internal static void OverrideFlow(BindingParameterCollection parameters, string action, MessageDirection direction, TransactionFlowOption option) { Dictionarydictionary = EnsureDictionary(parameters); DirectionalAction da = new DirectionalAction(direction, action); if (dictionary.ContainsKey(da)) { dictionary[da] = option; } else { dictionary.Add(da, option); } } static Dictionary EnsureDictionary(BindingParameterCollection parameters) { Dictionary dictionary = parameters.Find >(); if (dictionary == null) { dictionary = new Dictionary (); parameters.Add(dictionary); } return dictionary; } void ApplyBehavior(OperationDescription description, BindingParameterCollection parameters) { Dictionary dictionary = EnsureDictionary(parameters); dictionary.Add(new DirectionalAction(description.Messages[0].Direction, description.Messages[0].Action), this.transactions); } void IOperationBehavior.Validate(OperationDescription description) { } void IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch) { } void IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters) { if (parameters == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("parameters"); ApplyBehavior(description, parameters); } 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
- ImageDrawing.cs
- SecurityPolicySection.cs
- WhitespaceRule.cs
- CurrencyWrapper.cs
- CodeMemberEvent.cs
- FontEditor.cs
- DataReceivedEventArgs.cs
- DeviceSpecific.cs
- AuthorizationPolicyTypeElement.cs
- Module.cs
- ControlBindingsCollection.cs
- TabItemAutomationPeer.cs
- ViewBox.cs
- RtfFormatStack.cs
- DoubleUtil.cs
- TransformerConfigurationWizardBase.cs
- EmptyReadOnlyDictionaryInternal.cs
- Int64Animation.cs
- PersonalizationProvider.cs
- SessionStateItemCollection.cs
- InternalSafeNativeMethods.cs
- MarshalByValueComponent.cs
- ZipIOExtraFieldZip64Element.cs
- XmlMapping.cs
- CardSpaceShim.cs
- PathGeometry.cs
- CounterCreationDataCollection.cs
- Rotation3D.cs
- sqlstateclientmanager.cs
- ShaderRenderModeValidation.cs
- XmlAnyElementAttributes.cs
- ThreadExceptionDialog.cs
- Activator.cs
- ConfigurationFileMap.cs
- ColorTransform.cs
- CompositeFontParser.cs
- indexingfiltermarshaler.cs
- CLRBindingWorker.cs
- SimpleTableProvider.cs
- GeometryCollection.cs
- ConstantCheck.cs
- StylusButtonEventArgs.cs
- SuppressMergeCheckAttribute.cs
- RIPEMD160Managed.cs
- ConnectionPoolManager.cs
- DataComponentGenerator.cs
- SyntaxCheck.cs
- Win32SafeHandles.cs
- AuthorizationRule.cs
- Form.cs
- TextEndOfSegment.cs
- ScriptingRoleServiceSection.cs
- ContentPosition.cs
- SoapMessage.cs
- InstanceNameConverter.cs
- UnconditionalPolicy.cs
- InternalResources.cs
- ImmutableCollection.cs
- IssuedTokenParametersElement.cs
- EncoderNLS.cs
- DataConnectionHelper.cs
- SystemIPInterfaceProperties.cs
- RuntimeUtils.cs
- DetailsViewPagerRow.cs
- SerializeAbsoluteContext.cs
- GridViewUpdateEventArgs.cs
- PassportAuthentication.cs
- FormatterServicesNoSerializableCheck.cs
- HelpHtmlBuilder.cs
- NotifyCollectionChangedEventArgs.cs
- SoapAttributes.cs
- ScriptHandlerFactory.cs
- CodeBlockBuilder.cs
- ConfigurationManagerInternalFactory.cs
- XmlSchemaCompilationSettings.cs
- BamlResourceSerializer.cs
- IisTraceListener.cs
- ElementProxy.cs
- TypedServiceChannelBuilder.cs
- VariableBinder.cs
- SplitContainer.cs
- DebugTrace.cs
- PassportPrincipal.cs
- EntitySqlQueryBuilder.cs
- EnumConverter.cs
- FormViewDeleteEventArgs.cs
- ClientFormsAuthenticationMembershipProvider.cs
- BStrWrapper.cs
- ADConnectionHelper.cs
- CodeTypeDeclaration.cs
- basecomparevalidator.cs
- AnnotationAdorner.cs
- DispatcherProcessingDisabled.cs
- StateWorkerRequest.cs
- AssemblyAttributes.cs
- TagMapInfo.cs
- WorkflowRuntimeSection.cs
- TimeSpanFormat.cs
- FileAuthorizationModule.cs
- Binding.cs