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
- HtmlTextArea.cs
- WMICapabilities.cs
- StorageComplexPropertyMapping.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SiteMapDataSourceView.cs
- InputGestureCollection.cs
- IntSecurity.cs
- WebBrowserHelper.cs
- LocatorPartList.cs
- EncryptedReference.cs
- SQLDoubleStorage.cs
- NewExpression.cs
- RecordBuilder.cs
- HitTestDrawingContextWalker.cs
- StreamFormatter.cs
- DeferrableContent.cs
- ModelItemCollection.cs
- XPathNodePointer.cs
- CqlErrorHelper.cs
- ServiceHostFactory.cs
- FontDifferentiator.cs
- XmlSerializerSection.cs
- ExtendedPropertyCollection.cs
- TrackBar.cs
- IDReferencePropertyAttribute.cs
- XmlEnumAttribute.cs
- SystemParameters.cs
- RectAnimation.cs
- DocComment.cs
- XmlSchemaAttribute.cs
- ManagedCodeMarkers.cs
- DrawingContextDrawingContextWalker.cs
- HttpsHostedTransportConfiguration.cs
- NavigationWindowAutomationPeer.cs
- UserNameSecurityToken.cs
- CalendarDay.cs
- QueryStringParameter.cs
- KeyValuePairs.cs
- PriorityChain.cs
- QueryCacheEntry.cs
- DataObjectFieldAttribute.cs
- SmtpNtlmAuthenticationModule.cs
- XmlSchemaSimpleTypeUnion.cs
- RoleGroupCollection.cs
- OpenFileDialog.cs
- CommandField.cs
- milrender.cs
- InvalidCastException.cs
- CopyNamespacesAction.cs
- ConfigurationElementProperty.cs
- DeclarativeCatalogPartDesigner.cs
- TypeDescriptor.cs
- OracleConnection.cs
- EventLogInternal.cs
- XPathNodeInfoAtom.cs
- ObjectContextServiceProvider.cs
- _BufferOffsetSize.cs
- ExpressionContext.cs
- ShapeTypeface.cs
- WeakReferenceEnumerator.cs
- ReadOnlyDictionary.cs
- ConnectionStringsExpressionBuilder.cs
- HandlerBase.cs
- EasingKeyFrames.cs
- ClientProtocol.cs
- ReverseInheritProperty.cs
- RegistrationProxy.cs
- NameObjectCollectionBase.cs
- ToolBar.cs
- ProfileParameter.cs
- RouteParametersHelper.cs
- DataServiceBehavior.cs
- WaitHandle.cs
- FileUtil.cs
- SelectionItemProviderWrapper.cs
- DeviceContext2.cs
- StaticContext.cs
- BitmapSource.cs
- MD5.cs
- EdgeProfileValidation.cs
- XmlSerializerAssemblyAttribute.cs
- WebPartConnectVerb.cs
- MetabaseSettingsIis7.cs
- FileIOPermission.cs
- FontSource.cs
- RequestCachePolicy.cs
- RuntimeArgumentHandle.cs
- SecurityCriticalDataForSet.cs
- Axis.cs
- ClientSponsor.cs
- DataGridColumnHeadersPresenter.cs
- NegationPusher.cs
- DataViewManagerListItemTypeDescriptor.cs
- RegexCode.cs
- SqlConnectionString.cs
- ConditionalExpression.cs
- CompilationUnit.cs
- CommandTreeTypeHelper.cs
- ObjectTokenCategory.cs
- TextParagraph.cs