Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Bridge / TransactionManager.cs / 1 / TransactionManager.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.Transactions.Bridge { using System; using System.Collections; using System.Configuration; using System.ServiceModel.Internal; // The TransactionManager type represents a transaction manager // from the viewpoint of the propagation protocol. The MSTB // service (or equivalent) creates one TransactionManager object // per protocol. // abstract class TransactionManager { protected TransactionManager( ) { PropagationProtocolsTracing.TraceVerbose( "TransactionManager::TransactionManager" ); id = Guid.NewGuid( ); PropagationProtocolsTracing.TraceVerbose( id.ToString( "B", null ) ); } public void Initialize(string fullyQualifiedTypeName, object bridgeConfig) { PropagationProtocolsTracing.TraceVerbose( "TransactionManager::Initialize" ); PropagationProtocolsTracing.TraceVerbose( fullyQualifiedTypeName ); if (!TransactionBridge.IsAssemblyMicrosoftSigned( fullyQualifiedTypeName )) { PropagationProtocolsTracing.TraceVerbose( "Protocol type has wrong signature: " + fullyQualifiedTypeName); throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ConfigurationErrorsException(SR.GetString(SR.ProtocolTypeWrongSignature))); } this.bridgeConfig = bridgeConfig; // 1. create a object of the type specified by the fully qualified // name; cast as IProtocolProvider Type type = Type.GetType( fullyQualifiedTypeName, true ); PropagationProtocolsTracing.TraceVerbose( type.ToString( ) ); protocolProvider = (IProtocolProvider) Activator.CreateInstance( type ); // 2. call initialize on the transaction manager this.Initialize(); // 3. get the protocol provider's coordinator and propagation services protocolProviderCoordinatorService = protocolProvider.CoordinatorService; protocolProviderPropagationService = protocolProvider.PropagationService; } // The following overrides are called in the following order abstract public void Initialize(); abstract public void Start(); abstract public void Recover(); abstract public void Stop( ); // Expose a property for the provider to query the Max log entry size enforced by PPL. abstract public int MaxLogEntrySize { get ; } public TransactionManagerCoordinatorService CoordinatorService { get{ return transactionManagerCoordinatorService; } } public TransactionManagerPropagationService PropagationService { get{ return transactionManagerPropagationService;} } public TransactionManagerSettings Settings { get { return TransactionManagerSettings; } } override public string ToString( ) { return this.GetType( ).ToString( ) + " " + id.ToString( "B", null ); } public IProtocolProvider IProtocolProvider { get { return protocolProvider; } } public IProtocolProviderCoordinatorService IProtocolProviderCoordinatorService { get { return protocolProviderCoordinatorService; } } public IProtocolProviderPropagationService IProtocolProviderPropagationService { get{ return protocolProviderPropagationService; } } protected TransactionManagerCoordinatorService TransactionManagerCoordinatorService { get { return transactionManagerCoordinatorService; } set { transactionManagerCoordinatorService = value; } } protected TransactionManagerPropagationService TransactionManagerPropagationService { get { return transactionManagerPropagationService; } set { transactionManagerPropagationService = value; } } protected TransactionManagerSettings TransactionManagerSettings { get { return transactionManagerSettings; } set { transactionManagerSettings = value; } } protected object BridgeConfiguration { get { return bridgeConfig; } } protected static void UnhandledExceptionHandler(Exception exception) { DiagnosticUtility.InvokeFinalHandler(exception); } /* ------------------------------------------------------------------- * attributes * ----------------------------------------------------------------- */ private IProtocolProvider protocolProvider; private IProtocolProviderCoordinatorService protocolProviderCoordinatorService; private IProtocolProviderPropagationService protocolProviderPropagationService; private TransactionManagerCoordinatorService transactionManagerCoordinatorService; private TransactionManagerPropagationService transactionManagerPropagationService; private TransactionManagerSettings transactionManagerSettings; private Guid id; private object bridgeConfig; } } // 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
- RuntimeArgumentHandle.cs
- XmlTextAttribute.cs
- ItemChangedEventArgs.cs
- ProgressBarBrushConverter.cs
- ParserHooks.cs
- SkipQueryOptionExpression.cs
- UnsafeNativeMethods.cs
- HideDisabledControlAdapter.cs
- SqlColumnizer.cs
- OutputScopeManager.cs
- SID.cs
- versioninfo.cs
- SplayTreeNode.cs
- TextBoxLine.cs
- QueryableDataSource.cs
- XmlRootAttribute.cs
- SQLByteStorage.cs
- MultitargetingHelpers.cs
- CompiledRegexRunner.cs
- TextRange.cs
- DependencyObjectValidator.cs
- MultipleViewPatternIdentifiers.cs
- ScrollData.cs
- DataControlPagerLinkButton.cs
- BindingCollectionElement.cs
- SqlCommandSet.cs
- WebPartUserCapability.cs
- SelectionItemProviderWrapper.cs
- XmlTextAttribute.cs
- DataGridViewColumnEventArgs.cs
- FontStyleConverter.cs
- DataGridViewCellCancelEventArgs.cs
- TargetConverter.cs
- documentsequencetextcontainer.cs
- _SafeNetHandles.cs
- SqlUserDefinedAggregateAttribute.cs
- SizeIndependentAnimationStorage.cs
- Operator.cs
- SelectionProviderWrapper.cs
- SectionVisual.cs
- Pen.cs
- HostedNamedPipeTransportManager.cs
- PhoneCallDesigner.cs
- BaseCollection.cs
- BooleanConverter.cs
- ImpersonateTokenRef.cs
- MessageQueueKey.cs
- UICuesEvent.cs
- WrappedIUnknown.cs
- Psha1DerivedKeyGeneratorHelper.cs
- HyperLinkDataBindingHandler.cs
- TimersDescriptionAttribute.cs
- DescendentsWalker.cs
- DataSourceProvider.cs
- TextEditorParagraphs.cs
- DesignerForm.cs
- DelimitedListTraceListener.cs
- XmlSchemaSimpleContentRestriction.cs
- DynamicObjectAccessor.cs
- DesignerAutoFormatCollection.cs
- XmlSchemaSimpleContent.cs
- PathSegment.cs
- HMACRIPEMD160.cs
- ItemsControl.cs
- ColumnCollection.cs
- DataAdapter.cs
- unsafenativemethodstextservices.cs
- DeploymentSectionCache.cs
- LinqDataSourceView.cs
- EmptyElement.cs
- ExtenderProviderService.cs
- RefExpr.cs
- DbParameterCollectionHelper.cs
- Type.cs
- EventRouteFactory.cs
- AnnotationHelper.cs
- QueryCursorEventArgs.cs
- SynthesizerStateChangedEventArgs.cs
- LocalFileSettingsProvider.cs
- SqlDataSourceSelectingEventArgs.cs
- FlowDocumentFormatter.cs
- RequestContext.cs
- DockPattern.cs
- UnsafeNativeMethods.cs
- HitTestParameters3D.cs
- Timeline.cs
- SafeCryptoHandles.cs
- ReadOnlyNameValueCollection.cs
- WebPartVerbsEventArgs.cs
- SoapEnumAttribute.cs
- MemberCollection.cs
- XpsSerializationManager.cs
- FileUtil.cs
- SafeHandles.cs
- DesignerDataColumn.cs
- BinaryConverter.cs
- FontSourceCollection.cs
- Frame.cs
- ConfigXmlElement.cs
- XmlSchemaSimpleContentExtension.cs