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
- RuleProcessor.cs
- MessagePartSpecification.cs
- CompoundFileDeflateTransform.cs
- HTMLTagNameToTypeMapper.cs
- TreeSet.cs
- WebControl.cs
- DynamicResourceExtension.cs
- altserialization.cs
- SqlTypeConverter.cs
- BaseAddressPrefixFilterElement.cs
- ConfigViewGenerator.cs
- ViewgenGatekeeper.cs
- WebBrowserContainer.cs
- PowerModeChangedEventArgs.cs
- TimelineGroup.cs
- HttpListener.cs
- ContentPropertyAttribute.cs
- MarkupExtensionReturnTypeAttribute.cs
- FrameDimension.cs
- WindowsPen.cs
- SplitContainer.cs
- TreeViewCancelEvent.cs
- EditorZoneBase.cs
- While.cs
- SettingsProviderCollection.cs
- LinqDataSourceEditData.cs
- TreePrinter.cs
- PointConverter.cs
- DataGridViewCheckBoxCell.cs
- FormsAuthenticationCredentials.cs
- CalendarTable.cs
- HatchBrush.cs
- XmlArrayItemAttributes.cs
- StagingAreaInputItem.cs
- QilInvokeLateBound.cs
- DynamicMetaObject.cs
- ColorTransformHelper.cs
- RegisteredDisposeScript.cs
- QueryPageSettingsEventArgs.cs
- LogEntrySerializer.cs
- Single.cs
- EntitySqlException.cs
- TimeIntervalCollection.cs
- ListItemDetailViewAttribute.cs
- HtmlTable.cs
- XmlDataSourceView.cs
- WebSysDefaultValueAttribute.cs
- Base64Stream.cs
- basenumberconverter.cs
- Attributes.cs
- XmlSiteMapProvider.cs
- CheckBoxFlatAdapter.cs
- cookie.cs
- NameValuePermission.cs
- DesignerEventService.cs
- TextSegment.cs
- FormViewCommandEventArgs.cs
- ProtocolViolationException.cs
- RegistryHandle.cs
- XmlIncludeAttribute.cs
- PathSegmentCollection.cs
- DataTemplateSelector.cs
- FlowDocumentPaginator.cs
- Tablet.cs
- EntityRecordInfo.cs
- SpeakCompletedEventArgs.cs
- DataQuery.cs
- CacheForPrimitiveTypes.cs
- WsatEtwTraceListener.cs
- RectangleF.cs
- RedirectionProxy.cs
- PowerModeChangedEventArgs.cs
- ArrayList.cs
- SortFieldComparer.cs
- FontStretch.cs
- ToolStripContentPanelRenderEventArgs.cs
- FixedDSBuilder.cs
- ContentHostHelper.cs
- StickyNoteAnnotations.cs
- ConnectionString.cs
- GcSettings.cs
- CacheRequest.cs
- CheckoutException.cs
- MenuItem.cs
- GatewayDefinition.cs
- OdbcCommand.cs
- HitTestResult.cs
- ProjectionPathBuilder.cs
- ServiceDescriptionSerializer.cs
- DocumentApplicationJournalEntry.cs
- DataShape.cs
- Matrix3DConverter.cs
- BufferModesCollection.cs
- EmbeddedMailObjectsCollection.cs
- CalloutQueueItem.cs
- Size.cs
- EnumerableValidator.cs
- RectangleConverter.cs
- basenumberconverter.cs
- StringWriter.cs