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
- Console.cs
- TypeDescriptor.cs
- Mapping.cs
- CompilationPass2TaskInternal.cs
- BounceEase.cs
- WebControlParameterProxy.cs
- SettingsSection.cs
- SqlNode.cs
- IPCCacheManager.cs
- XmlUnspecifiedAttribute.cs
- EdgeProfileValidation.cs
- WindowsListViewSubItem.cs
- OdbcCommand.cs
- SafeFileMappingHandle.cs
- StatusBarItemAutomationPeer.cs
- UserThread.cs
- MenuItemCollection.cs
- DropDownButton.cs
- HostElement.cs
- AbstractSvcMapFileLoader.cs
- LocalizabilityAttribute.cs
- MILUtilities.cs
- WebMessageEncoderFactory.cs
- Tuple.cs
- DataPagerFieldCollection.cs
- TreeViewImageIndexConverter.cs
- HighlightComponent.cs
- TimeManager.cs
- HttpHeaderCollection.cs
- WindowsScrollBar.cs
- BrowserPolicyValidator.cs
- CompilerLocalReference.cs
- ProcessHostConfigUtils.cs
- AuthorizationRule.cs
- DocumentSequenceHighlightLayer.cs
- SpeechUI.cs
- BitmapSourceSafeMILHandle.cs
- TaskFileService.cs
- WebDescriptionAttribute.cs
- InheritanceContextChangedEventManager.cs
- BindingWorker.cs
- TypeBuilder.cs
- Int16Converter.cs
- HMACMD5.cs
- PageBreakRecord.cs
- OpCopier.cs
- SHA1CryptoServiceProvider.cs
- FileVersionInfo.cs
- tibetanshape.cs
- JavaScriptSerializer.cs
- Drawing.cs
- WeakEventManager.cs
- RuleSetDialog.cs
- InfoCardAsymmetricCrypto.cs
- DesignerCommandAdapter.cs
- WindowsScroll.cs
- ListSortDescriptionCollection.cs
- PasswordDeriveBytes.cs
- CodeIterationStatement.cs
- LogAppendAsyncResult.cs
- RepeaterItemEventArgs.cs
- FilteredReadOnlyMetadataCollection.cs
- TextComposition.cs
- CountdownEvent.cs
- PrintDialog.cs
- ThreadPool.cs
- DesignerHost.cs
- DataGridViewBand.cs
- WindowsFormsHostPropertyMap.cs
- PersistNameAttribute.cs
- SqlRewriteScalarSubqueries.cs
- Rotation3DKeyFrameCollection.cs
- ChineseLunisolarCalendar.cs
- AutomationElement.cs
- DynamicQueryStringParameter.cs
- DesignDataSource.cs
- DbConnectionPoolGroup.cs
- MessageDecoder.cs
- SqlWebEventProvider.cs
- ErrorHandler.cs
- BackgroundFormatInfo.cs
- IPEndPointCollection.cs
- SymbolMethod.cs
- CounterSample.cs
- SqlUnionizer.cs
- AnnotationObservableCollection.cs
- MimeFormReflector.cs
- MobileErrorInfo.cs
- AppSettingsSection.cs
- FillBehavior.cs
- DataChangedEventManager.cs
- MILUtilities.cs
- SocketPermission.cs
- HttpRawResponse.cs
- TreeNodeStyleCollection.cs
- XmlDataProvider.cs
- HopperCache.cs
- DataService.cs
- BinaryExpression.cs
- SecurityContext.cs