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
- ClientConfigurationSystem.cs
- FormViewUpdateEventArgs.cs
- CodeDOMProvider.cs
- MdiWindowListStrip.cs
- CollectionViewGroup.cs
- ZipIOLocalFileDataDescriptor.cs
- SerializationStore.cs
- PropertyStore.cs
- FormParameter.cs
- CfgRule.cs
- HtmlElementErrorEventArgs.cs
- PropertyRecord.cs
- LambdaValue.cs
- DbMetaDataColumnNames.cs
- MapPathBasedVirtualPathProvider.cs
- ParallelDesigner.cs
- FlowDocumentPage.cs
- ProviderConnectionPointCollection.cs
- BinaryConverter.cs
- TextWriter.cs
- HttpStreams.cs
- ControlPager.cs
- TransactionTable.cs
- DataSourceHelper.cs
- JsonXmlDataContract.cs
- Debug.cs
- CompressStream.cs
- SessionEndingCancelEventArgs.cs
- XmlRootAttribute.cs
- PeerNearMe.cs
- ArrayTypeMismatchException.cs
- CatalogPartCollection.cs
- DesignerForm.cs
- SmiRequestExecutor.cs
- Misc.cs
- QilList.cs
- X509ChainElement.cs
- MouseGesture.cs
- MetricEntry.cs
- CheckBoxField.cs
- InputBinder.cs
- Pen.cs
- ListViewDeletedEventArgs.cs
- XmlDsigSep2000.cs
- RsaKeyIdentifierClause.cs
- SafeEventLogWriteHandle.cs
- SymbolMethod.cs
- SystemNetHelpers.cs
- InternalsVisibleToAttribute.cs
- AssociationSetEnd.cs
- Environment.cs
- COM2FontConverter.cs
- Utils.cs
- VectorConverter.cs
- AssemblyHelper.cs
- TranslateTransform.cs
- BuilderElements.cs
- WindowsAltTab.cs
- SemanticTag.cs
- FileSystemWatcher.cs
- CallContext.cs
- Header.cs
- Deserializer.cs
- SystemTcpStatistics.cs
- HMACSHA256.cs
- SamlDoNotCacheCondition.cs
- ClientType.cs
- SapiRecoInterop.cs
- ToolStripSeparator.cs
- QueryAsyncResult.cs
- ListBox.cs
- ExtensionFile.cs
- Monitor.cs
- MethodBody.cs
- PointCollectionValueSerializer.cs
- PowerModeChangedEventArgs.cs
- JavaScriptObjectDeserializer.cs
- ReturnValue.cs
- ValidationErrorEventArgs.cs
- PropertyDescriptorGridEntry.cs
- FilterQueryOptionExpression.cs
- ZoneButton.cs
- SortAction.cs
- ToolStripPanelRow.cs
- DefaultValueConverter.cs
- _ListenerResponseStream.cs
- KeyInterop.cs
- DSASignatureDeformatter.cs
- ExceptionRoutedEventArgs.cs
- FrameworkContentElement.cs
- LeaseManager.cs
- CompositeDataBoundControl.cs
- CheckBox.cs
- ExpressionEditorSheet.cs
- StorageAssociationSetMapping.cs
- StrongTypingException.cs
- RevocationPoint.cs
- FrugalList.cs
- WeakEventTable.cs
- Transactions.cs