Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / tx / System / Transactions / Oletx / OletxCommittableTransaction.cs / 1305376 / OletxCommittableTransaction.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Transactions.Oletx { using System; using System.Configuration; using System.Diagnostics; using System.Runtime.InteropServices; using System.Runtime.Remoting.Messaging; using System.Runtime.Serialization; using System.Security.Permissions; using System.Threading; using System.Transactions.Diagnostics; ////// A Transaction object represents a single transaction. It is created by TransactionManager /// objects through CreateTransaction or UnmarshalTransaction. Alternatively, the static Create /// methodis provided, which creates a "default" TransactionManager and requests that it create /// a new transaction with default values. A transaction can only be committed by /// the client application that created the transaction. If a client application wishes to allow /// access to the transaction by multiple threads, but wants to prevent those other threads from /// committing the transaction, the application can make a "clone" of the transaction. Transaction /// clones have the same capabilities as the original transaction, except for the ability to commit /// the transaction. /// [Serializable] internal class OletxCommittableTransaction : OletxTransaction { bool commitCalled = false; ////// Constructor for the Transaction object. Specifies the TransactionManager instance that is /// creating the transaction. /// /// /// Specifies the TransactionManager instance that is creating the transaction. /// internal OletxCommittableTransaction( RealOletxTransaction realOletxTransaction ) : base( realOletxTransaction ) { realOletxTransaction.committableTransaction = this; } internal bool CommitCalled { get { return this.commitCalled; } } internal void BeginCommit( InternalTransaction internalTransaction ) { if ( DiagnosticTrace.Verbose ) { MethodEnteredTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), "CommittableTransaction.BeginCommit" ); TransactionCommitCalledTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), this.TransactionTraceId ); } Debug.Assert( ( 0 == this.disposed ), "OletxTransction object is disposed" ); this.realOletxTransaction.InternalTransaction = internalTransaction; this.commitCalled = true; this.realOletxTransaction.Commit(); if ( DiagnosticTrace.Verbose ) { MethodExitedTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), "CommittableTransaction.BeginCommit" ); } return; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Transactions.Oletx { using System; using System.Configuration; using System.Diagnostics; using System.Runtime.InteropServices; using System.Runtime.Remoting.Messaging; using System.Runtime.Serialization; using System.Security.Permissions; using System.Threading; using System.Transactions.Diagnostics; ////// A Transaction object represents a single transaction. It is created by TransactionManager /// objects through CreateTransaction or UnmarshalTransaction. Alternatively, the static Create /// methodis provided, which creates a "default" TransactionManager and requests that it create /// a new transaction with default values. A transaction can only be committed by /// the client application that created the transaction. If a client application wishes to allow /// access to the transaction by multiple threads, but wants to prevent those other threads from /// committing the transaction, the application can make a "clone" of the transaction. Transaction /// clones have the same capabilities as the original transaction, except for the ability to commit /// the transaction. /// [Serializable] internal class OletxCommittableTransaction : OletxTransaction { bool commitCalled = false; ////// Constructor for the Transaction object. Specifies the TransactionManager instance that is /// creating the transaction. /// /// /// Specifies the TransactionManager instance that is creating the transaction. /// internal OletxCommittableTransaction( RealOletxTransaction realOletxTransaction ) : base( realOletxTransaction ) { realOletxTransaction.committableTransaction = this; } internal bool CommitCalled { get { return this.commitCalled; } } internal void BeginCommit( InternalTransaction internalTransaction ) { if ( DiagnosticTrace.Verbose ) { MethodEnteredTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), "CommittableTransaction.BeginCommit" ); TransactionCommitCalledTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), this.TransactionTraceId ); } Debug.Assert( ( 0 == this.disposed ), "OletxTransction object is disposed" ); this.realOletxTransaction.InternalTransaction = internalTransaction; this.commitCalled = true; this.realOletxTransaction.Commit(); if ( DiagnosticTrace.Verbose ) { MethodExitedTraceRecord.Trace( SR.GetString( SR.TraceSourceOletx ), "CommittableTransaction.BeginCommit" ); } return; } } } // 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
- MaterialCollection.cs
- CheckBoxBaseAdapter.cs
- SqlBuilder.cs
- ParsedAttributeCollection.cs
- ProgressChangedEventArgs.cs
- Cursors.cs
- ResizeGrip.cs
- XmlSchemaGroup.cs
- ButtonBase.cs
- StreamProxy.cs
- XmlAttributeAttribute.cs
- StreamUpgradeAcceptor.cs
- MarkupExtensionParser.cs
- FormsAuthenticationCredentials.cs
- XmlLanguage.cs
- dataSvcMapFileLoader.cs
- LinqDataSourceView.cs
- PathFigure.cs
- ObjectCache.cs
- DelegatingConfigHost.cs
- DbProviderConfigurationHandler.cs
- ChannelDispatcherCollection.cs
- AccessControlEntry.cs
- CachedPathData.cs
- EntityWrapper.cs
- CodeNamespaceCollection.cs
- querybuilder.cs
- SHA512.cs
- WithParamAction.cs
- HttpCapabilitiesEvaluator.cs
- ArraySortHelper.cs
- TemplateAction.cs
- SoapAttributes.cs
- CodeTypeMember.cs
- IndexedSelectQueryOperator.cs
- EntityDataSourceWizardForm.cs
- ValueConversionAttribute.cs
- ScriptControlManager.cs
- WinFormsUtils.cs
- AuthenticatingEventArgs.cs
- DataGridAutoFormatDialog.cs
- TableParagraph.cs
- CurrencyWrapper.cs
- CellParaClient.cs
- NotSupportedException.cs
- DataTableReader.cs
- Win32.cs
- StringBuilder.cs
- XmlAutoDetectWriter.cs
- ControlPager.cs
- QilFunction.cs
- XmlEventCache.cs
- WebContext.cs
- HwndHost.cs
- SqlClientFactory.cs
- SqlProvider.cs
- Policy.cs
- login.cs
- TraceProvider.cs
- wgx_sdk_version.cs
- NavigationCommands.cs
- FormView.cs
- HttpHandlersSection.cs
- __Filters.cs
- IdentityReference.cs
- listitem.cs
- ResponseBodyWriter.cs
- UIHelper.cs
- ItemCheckedEvent.cs
- HtmlTableCellCollection.cs
- SecurityProtocolCorrelationState.cs
- WebPartCancelEventArgs.cs
- RuleProcessor.cs
- HttpRuntime.cs
- DeviceSpecificDialogCachedState.cs
- NamespaceTable.cs
- VirtualPath.cs
- SemanticTag.cs
- XPathAxisIterator.cs
- BufferedOutputAsyncStream.cs
- SessionIDManager.cs
- XmlSchemaValidationException.cs
- PropertyKey.cs
- CommandLineParser.cs
- AppliesToBehaviorDecisionTable.cs
- COM2EnumConverter.cs
- LinkButton.cs
- GeneralTransform3D.cs
- Button.cs
- SerializerProvider.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- ValidationErrorInfo.cs
- MailBnfHelper.cs
- KeyedCollection.cs
- SemaphoreSecurity.cs
- BaseDataList.cs
- CodeExporter.cs
- ConstantSlot.cs
- TreeNodeClickEventArgs.cs
- RSAOAEPKeyExchangeDeformatter.cs