Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / tx / System / Transactions / Oletx / OletxDependentTransaction.cs / 1305376 / OletxDependentTransaction.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Threading; using System.Transactions.Diagnostics; namespace System.Transactions.Oletx { [Serializable] internal class OletxDependentTransaction : OletxTransaction { private OletxVolatileEnlistmentContainer volatileEnlistmentContainer; private int completed = 0; internal OletxDependentTransaction( RealOletxTransaction realTransaction, bool delayCommit ) : base( realTransaction ) { if ( null == realTransaction ) { throw new ArgumentNullException( "realTransaction" ); } this.volatileEnlistmentContainer = realOletxTransaction.AddDependentClone( delayCommit ); if ( DiagnosticTrace.Information ) { DependentCloneCreatedTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), this.TransactionTraceId, delayCommit ? DependentCloneOption.BlockCommitUntilComplete : DependentCloneOption.RollbackIfNotComplete ); } } public void Complete() { if ( DiagnosticTrace.Verbose ) { MethodEnteredTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), "DependentTransaction.Complete" ); } Debug.Assert( ( 0 == this.disposed ), "OletxTransction object is disposed" ); int localCompleted = Interlocked.CompareExchange( ref this.completed, 1, 0 ); if ( 1 == localCompleted ) { throw TransactionException.CreateTransactionCompletedException( SR.GetString( SR.TraceSourceOletx ) ); } if ( DiagnosticTrace.Information ) { DependentCloneCompleteTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), this.TransactionTraceId ); } this.volatileEnlistmentContainer.DependentCloneCompleted(); if ( DiagnosticTrace.Verbose ) { MethodExitedTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), "DependentTransaction.Complete" ); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlMultiplexer.cs
- RadioButton.cs
- ObjectDataSource.cs
- EntityDataSourceSelectedEventArgs.cs
- AnimationClock.cs
- ProfilePropertyNameValidator.cs
- shaperfactory.cs
- WindowsAltTab.cs
- BinaryNode.cs
- TextFindEngine.cs
- _HeaderInfoTable.cs
- SourceFileBuildProvider.cs
- DebugInfoGenerator.cs
- DNS.cs
- SecurityAlgorithmSuiteConverter.cs
- EngineSite.cs
- Invariant.cs
- RootBuilder.cs
- WindowsScrollBar.cs
- PasswordBox.cs
- Convert.cs
- HierarchicalDataTemplate.cs
- EventProvider.cs
- ConditionalBranch.cs
- NullableConverter.cs
- XmlSchemaInferenceException.cs
- SynchronizedPool.cs
- TreeViewHitTestInfo.cs
- TypeInfo.cs
- TraceLog.cs
- PackageStore.cs
- CompatibleComparer.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- Expression.DebuggerProxy.cs
- DataGridViewColumnTypePicker.cs
- DoubleLink.cs
- SyndicationFeedFormatter.cs
- CodeAttributeArgument.cs
- DrawingDrawingContext.cs
- GreenMethods.cs
- Brush.cs
- IconBitmapDecoder.cs
- OleDbErrorCollection.cs
- DataGridTextBox.cs
- AssemblyHelper.cs
- CompositionTarget.cs
- SystemDiagnosticsSection.cs
- BindingMemberInfo.cs
- Utils.cs
- ContractMapping.cs
- CounterCreationDataConverter.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- CompiledELinqQueryState.cs
- TemplateInstanceAttribute.cs
- AbandonedMutexException.cs
- ServicePointManager.cs
- ComponentResourceManager.cs
- DefaultSerializationProviderAttribute.cs
- DivideByZeroException.cs
- WeakEventManager.cs
- Brush.cs
- MouseGesture.cs
- CommandPlan.cs
- DataGridViewButtonCell.cs
- UriParserTemplates.cs
- SelectedCellsChangedEventArgs.cs
- sqlmetadatafactory.cs
- WebMessageEncoderFactory.cs
- SamlDoNotCacheCondition.cs
- FilteredXmlReader.cs
- SingleObjectCollection.cs
- MenuStrip.cs
- CompensationExtension.cs
- CommandHelpers.cs
- RequestReplyCorrelator.cs
- SByteStorage.cs
- StorageAssociationTypeMapping.cs
- XmlElementList.cs
- ResourcePermissionBase.cs
- PartialList.cs
- SafeNativeMethodsMilCoreApi.cs
- Logging.cs
- FlowPosition.cs
- CryptoStream.cs
- Unit.cs
- SelectionEditor.cs
- CollectionEditVerbManager.cs
- BaseCodePageEncoding.cs
- VirtualDirectoryMapping.cs
- PersonalizablePropertyEntry.cs
- assemblycache.cs
- PersistenceException.cs
- DbConnectionPoolCounters.cs
- Axis.cs
- EdgeModeValidation.cs
- X509RawDataKeyIdentifierClause.cs
- JumpTask.cs
- SiteMapSection.cs
- HtmlInputReset.cs
- DataGridViewRowPostPaintEventArgs.cs