Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / tx / System / Transactions / DependentTransaction.cs / 1305376 / DependentTransaction.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Transactions { using System; using System.Runtime.Serialization; using System.Transactions.Diagnostics; ///// When we serialize a DependentTransaction, we specify the type OletxTransaction, so a DependentTransaction never // actually gets deserialized. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2229:ImplementSerializationConstructors")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2240:ImplementISerializableCorrectly")] [Serializable] public sealed class DependentTransaction : Transaction { bool blocking; // Create a transaction with the given settings // internal DependentTransaction( IsolationLevel isoLevel, InternalTransaction internalTransaction, bool blocking ) : base( isoLevel, internalTransaction ) { this.blocking = blocking; lock( this.internalTransaction ) { if( blocking ) { this.internalTransaction.State.CreateBlockingClone( this.internalTransaction ); } else { this.internalTransaction.State.CreateAbortingClone( this.internalTransaction ); } } } public void Complete() { if ( DiagnosticTrace.Verbose ) { MethodEnteredTraceRecord.Trace( SR.GetString( SR.TraceSourceLtm ), "DependentTransaction.Complete" ); } lock( this.internalTransaction ) { if( Disposed ) { throw new ObjectDisposedException( "Transaction" ); } if( this.complete ) { throw TransactionException.CreateTransactionCompletedException( SR.GetString( SR.TraceSourceLtm ) ); } this.complete = true; if( blocking ) { this.internalTransaction.State.CompleteBlockingClone( this.internalTransaction ); } else { this.internalTransaction.State.CompleteAbortingClone( this.internalTransaction ); } } if ( DiagnosticTrace.Information ) { DependentCloneCompleteTraceRecord.Trace( SR.GetString( SR.TraceSourceLtm ), this.TransactionTraceId ); } if ( DiagnosticTrace.Verbose ) { MethodExitedTraceRecord.Trace( SR.GetString( SR.TraceSourceLtm ), "DependentTransaction.Complete" ); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Transactions { using System; using System.Runtime.Serialization; using System.Transactions.Diagnostics; ///// When we serialize a DependentTransaction, we specify the type OletxTransaction, so a DependentTransaction never // actually gets deserialized. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2229:ImplementSerializationConstructors")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2240:ImplementISerializableCorrectly")] [Serializable] public sealed class DependentTransaction : Transaction { bool blocking; // Create a transaction with the given settings // internal DependentTransaction( IsolationLevel isoLevel, InternalTransaction internalTransaction, bool blocking ) : base( isoLevel, internalTransaction ) { this.blocking = blocking; lock( this.internalTransaction ) { if( blocking ) { this.internalTransaction.State.CreateBlockingClone( this.internalTransaction ); } else { this.internalTransaction.State.CreateAbortingClone( this.internalTransaction ); } } } public void Complete() { if ( DiagnosticTrace.Verbose ) { MethodEnteredTraceRecord.Trace( SR.GetString( SR.TraceSourceLtm ), "DependentTransaction.Complete" ); } lock( this.internalTransaction ) { if( Disposed ) { throw new ObjectDisposedException( "Transaction" ); } if( this.complete ) { throw TransactionException.CreateTransactionCompletedException( SR.GetString( SR.TraceSourceLtm ) ); } this.complete = true; if( blocking ) { this.internalTransaction.State.CompleteBlockingClone( this.internalTransaction ); } else { this.internalTransaction.State.CompleteAbortingClone( this.internalTransaction ); } } if ( DiagnosticTrace.Information ) { DependentCloneCompleteTraceRecord.Trace( SR.GetString( SR.TraceSourceLtm ), this.TransactionTraceId ); } if ( DiagnosticTrace.Verbose ) { MethodExitedTraceRecord.Trace( SR.GetString( SR.TraceSourceLtm ), "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
- Simplifier.cs
- ConsoleEntryPoint.cs
- BamlTreeMap.cs
- PerspectiveCamera.cs
- MULTI_QI.cs
- ColumnWidthChangingEvent.cs
- TraceData.cs
- DoWhile.cs
- InputScopeNameConverter.cs
- AnimationException.cs
- DescendantQuery.cs
- RecognitionEventArgs.cs
- EnumUnknown.cs
- ListSortDescription.cs
- VirtualPathProvider.cs
- LogArchiveSnapshot.cs
- Transform3DGroup.cs
- TextOptionsInternal.cs
- AdCreatedEventArgs.cs
- DataServiceQueryOfT.cs
- SmtpClient.cs
- HostedTcpTransportManager.cs
- PropertyOverridesTypeEditor.cs
- LockCookie.cs
- XmlFileEditor.cs
- MultipleViewProviderWrapper.cs
- OutputWindow.cs
- WebPartTransformerCollection.cs
- SHA512.cs
- DateTimeHelper.cs
- PersonalizableAttribute.cs
- ThreadInterruptedException.cs
- RegexFCD.cs
- ViewStateException.cs
- KeyNameIdentifierClause.cs
- RuleSettingsCollection.cs
- GenericUriParser.cs
- UTF8Encoding.cs
- SoapAttributeAttribute.cs
- PeerCollaboration.cs
- FileDialogCustomPlacesCollection.cs
- CompositeControl.cs
- AnnotationAuthorChangedEventArgs.cs
- ShaderEffect.cs
- OrderPreservingPipeliningSpoolingTask.cs
- HiddenField.cs
- QilLoop.cs
- SymLanguageType.cs
- HtmlElementCollection.cs
- SiteMapDataSource.cs
- RelationshipSet.cs
- WebPartActionVerb.cs
- ConnectionsZone.cs
- ActivityBindForm.Designer.cs
- DataGridViewRowStateChangedEventArgs.cs
- TcpAppDomainProtocolHandler.cs
- MissingManifestResourceException.cs
- AssemblySettingAttributes.cs
- GeneratedView.cs
- XamlHostingSection.cs
- TabRenderer.cs
- DocumentApplication.cs
- UriParserTemplates.cs
- ResourceExpression.cs
- ReadOnlyTernaryTree.cs
- CodeDomDesignerLoader.cs
- BindableTemplateBuilder.cs
- validation.cs
- RtfFormatStack.cs
- DataControlFieldCollection.cs
- WebPartDescription.cs
- ColumnCollectionEditor.cs
- Enlistment.cs
- ShaderEffect.cs
- BamlVersionHeader.cs
- EntryPointNotFoundException.cs
- BaseTemplateCodeDomTreeGenerator.cs
- AuthenticatingEventArgs.cs
- UidManager.cs
- DesignerVerb.cs
- SymLanguageVendor.cs
- StickyNoteAnnotations.cs
- CodeAttributeDeclarationCollection.cs
- ToolStripDesigner.cs
- OutputCacheProfile.cs
- ParseHttpDate.cs
- DbDataSourceEnumerator.cs
- LazyInitializer.cs
- AbstractExpressions.cs
- ValueQuery.cs
- ResourceSet.cs
- RectAnimationUsingKeyFrames.cs
- HtmlTitle.cs
- BindingUtils.cs
- PageHandlerFactory.cs
- AppModelKnownContentFactory.cs
- DataTableNameHandler.cs
- DBPropSet.cs
- OleStrCAMarshaler.cs
- PtsCache.cs