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
- ReadOnlyDataSource.cs
- InternalEnumValidator.cs
- OledbConnectionStringbuilder.cs
- XsdValidatingReader.cs
- StateBag.cs
- _NetRes.cs
- StdValidatorsAndConverters.cs
- ListViewTableCell.cs
- QueryCacheManager.cs
- DocumentViewerHelper.cs
- XmlHierarchicalEnumerable.cs
- XmlNodeComparer.cs
- BCryptSafeHandles.cs
- HtmlFormWrapper.cs
- ContainerUtilities.cs
- DataObject.cs
- CompiledAction.cs
- FigureParagraph.cs
- InputLangChangeRequestEvent.cs
- DocumentViewerAutomationPeer.cs
- XPathItem.cs
- WindowAutomationPeer.cs
- DataGridCellsPresenter.cs
- CacheModeValueSerializer.cs
- BindingBase.cs
- StrokeNodeOperations2.cs
- TCPListener.cs
- GridViewItemAutomationPeer.cs
- AssemblyInfo.cs
- Bitmap.cs
- DocumentManager.cs
- ParallelEnumerableWrapper.cs
- EntityViewGenerationAttribute.cs
- CellQuery.cs
- XmlILAnnotation.cs
- Form.cs
- CFStream.cs
- CodeDomExtensionMethods.cs
- SqlDuplicator.cs
- Certificate.cs
- DispatcherOperation.cs
- SqlBulkCopyColumnMappingCollection.cs
- TextDecorationLocationValidation.cs
- ProfileManager.cs
- ExcludeFromCodeCoverageAttribute.cs
- NetworkInterface.cs
- ResourceReferenceExpression.cs
- SiteMapNode.cs
- WithStatement.cs
- TextWriter.cs
- VerifyHashRequest.cs
- DataGridViewButtonColumn.cs
- ExtractCollection.cs
- SequentialOutput.cs
- PageCatalogPartDesigner.cs
- EntityReference.cs
- Vertex.cs
- OleServicesContext.cs
- ClientRoleProvider.cs
- AutoCompleteStringCollection.cs
- XmlSchemaObjectTable.cs
- XmlEncodedRawTextWriter.cs
- ellipse.cs
- TreeWalker.cs
- Codec.cs
- Attachment.cs
- EnumerableValidator.cs
- VScrollProperties.cs
- EntitySetBase.cs
- ParentUndoUnit.cs
- ListViewGroupItemCollection.cs
- ClientSettingsProvider.cs
- COM2Properties.cs
- Vector3DCollection.cs
- SignatureGenerator.cs
- TemplateBindingExtensionConverter.cs
- ApplicationManager.cs
- X509SecurityTokenAuthenticator.cs
- KeyNotFoundException.cs
- ChtmlTextWriter.cs
- IItemProperties.cs
- ExcCanonicalXml.cs
- Serializer.cs
- ClickablePoint.cs
- DateTimeConstantAttribute.cs
- ExpressionContext.cs
- TypeDelegator.cs
- WhitespaceRule.cs
- ToggleButton.cs
- grammarelement.cs
- TabletCollection.cs
- DataFormats.cs
- ProcessHostFactoryHelper.cs
- StringValueConverter.cs
- SafeTokenHandle.cs
- TaiwanLunisolarCalendar.cs
- BindingExpressionUncommonField.cs
- GACIdentityPermission.cs
- SynchronizedInputAdaptor.cs
- BindingContext.cs