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
- InputProviderSite.cs
- WbmpConverter.cs
- ResponseStream.cs
- OperationCanceledException.cs
- ListViewItem.cs
- BinaryCommonClasses.cs
- ACL.cs
- ScriptControlManager.cs
- AsyncDataRequest.cs
- FactoryMaker.cs
- RadioButton.cs
- DataGridComponentEditor.cs
- Rectangle.cs
- GraphicsPathIterator.cs
- OpenTypeLayout.cs
- GcSettings.cs
- NamedPipeProcessProtocolHandler.cs
- EntityTypeBase.cs
- COMException.cs
- PowerModeChangedEventArgs.cs
- ComponentSerializationService.cs
- MemberCollection.cs
- DelegateArgumentReference.cs
- RenderDataDrawingContext.cs
- ToolStripItem.cs
- InternalBase.cs
- DataListCommandEventArgs.cs
- NotConverter.cs
- LogReservationCollection.cs
- InvalidFilterCriteriaException.cs
- DoubleConverter.cs
- SqlProviderManifest.cs
- HttpValueCollection.cs
- LogicalTreeHelper.cs
- DocumentViewer.cs
- Rotation3DKeyFrameCollection.cs
- ComponentDispatcher.cs
- ParallelTimeline.cs
- ResourceExpressionEditorSheet.cs
- ServiceConfigurationTraceRecord.cs
- RemoteWebConfigurationHost.cs
- XmlUtil.cs
- TextOptions.cs
- RepeaterCommandEventArgs.cs
- ViewBase.cs
- CommonGetThemePartSize.cs
- KnownAssemblyEntry.cs
- Mapping.cs
- Misc.cs
- AssemblyInfo.cs
- StringDictionary.cs
- XmlSchemaSimpleContent.cs
- _DigestClient.cs
- ReadOnlyDataSource.cs
- ResXBuildProvider.cs
- DateTimeValueSerializerContext.cs
- DataStorage.cs
- EventEntry.cs
- SchemaElementDecl.cs
- Splitter.cs
- FixedDSBuilder.cs
- RawStylusInputCustomDataList.cs
- Nodes.cs
- SecureUICommand.cs
- Point3DIndependentAnimationStorage.cs
- RecognizerStateChangedEventArgs.cs
- ControlEvent.cs
- ExpressionBindings.cs
- ComplexType.cs
- Application.cs
- PackWebRequest.cs
- Exception.cs
- SchemaConstraints.cs
- StylusEditingBehavior.cs
- SHA384Cng.cs
- XmlSchemaAttributeGroup.cs
- ScrollItemPattern.cs
- itemelement.cs
- UrlAuthFailedErrorFormatter.cs
- HuffmanTree.cs
- CodeDesigner.cs
- StringFreezingAttribute.cs
- SharedConnectionListener.cs
- SHA256Managed.cs
- TextPointer.cs
- InputLangChangeRequestEvent.cs
- ExpressionBuilderContext.cs
- ViewStateModeByIdAttribute.cs
- PropertyEmitterBase.cs
- COM2Enum.cs
- SiteMapNode.cs
- SizeIndependentAnimationStorage.cs
- SecurityTokenSerializer.cs
- BrowserTree.cs
- DisableDpiAwarenessAttribute.cs
- ScalarOps.cs
- NativeMethods.cs
- CompilerGlobalScopeAttribute.cs
- QilXmlWriter.cs
- NetworkInterface.cs