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
- PropertyManager.cs
- FilteredSchemaElementLookUpTable.cs
- FixedSOMGroup.cs
- SqlConnectionStringBuilder.cs
- Config.cs
- Privilege.cs
- ADMembershipUser.cs
- DataMemberConverter.cs
- DefaultValueMapping.cs
- SplitContainer.cs
- EditingScopeUndoUnit.cs
- CommandDevice.cs
- OneOfTypeConst.cs
- DataGridItemEventArgs.cs
- WindowsListViewItem.cs
- ThreadStateException.cs
- RequestQueryProcessor.cs
- EventProvider.cs
- RelationshipFixer.cs
- SqlResolver.cs
- ModuleBuilder.cs
- CircleHotSpot.cs
- ILGenerator.cs
- NamespaceQuery.cs
- TextChange.cs
- ResourcePart.cs
- TextFormatterContext.cs
- Error.cs
- SettingsProviderCollection.cs
- TableRow.cs
- SqlUserDefinedTypeAttribute.cs
- HierarchicalDataSourceConverter.cs
- WebRequest.cs
- InfoCardSchemas.cs
- ColumnClickEvent.cs
- CorrelationInitializer.cs
- NamespaceCollection.cs
- PropertyChangedEventArgs.cs
- AlphaSortedEnumConverter.cs
- QueryOutputWriter.cs
- XmlSerializerSection.cs
- CapabilitiesRule.cs
- FactoryGenerator.cs
- DataGridViewLinkColumn.cs
- Triplet.cs
- XmlSchemaCollection.cs
- TemplateControlBuildProvider.cs
- VersionConverter.cs
- InstanceCreationEditor.cs
- Attributes.cs
- Viewport3DAutomationPeer.cs
- XmlUtf8RawTextWriter.cs
- externdll.cs
- HttpModulesSection.cs
- BitmapEffectInputConnector.cs
- cookiecontainer.cs
- ProtocolInformationReader.cs
- SystemColorTracker.cs
- tooltip.cs
- ConfigurationValue.cs
- OdbcReferenceCollection.cs
- DataServiceContext.cs
- SchemaCollectionPreprocessor.cs
- HatchBrush.cs
- XslCompiledTransform.cs
- MergePropertyDescriptor.cs
- EventMappingSettingsCollection.cs
- UnauthorizedWebPart.cs
- BezierSegment.cs
- DrawingContext.cs
- Canvas.cs
- SoapAttributeOverrides.cs
- InternalTypeHelper.cs
- HiddenFieldDesigner.cs
- TextModifier.cs
- HelpProvider.cs
- SettingsSection.cs
- Currency.cs
- EntityCommand.cs
- DashStyle.cs
- ThicknessAnimationBase.cs
- DictionaryTraceRecord.cs
- CriticalFinalizerObject.cs
- URLAttribute.cs
- SecurityCriticalDataForSet.cs
- dtdvalidator.cs
- ReflectionPermission.cs
- FontSource.cs
- MemberAssignmentAnalysis.cs
- XmlQueryTypeFactory.cs
- UnmanagedBitmapWrapper.cs
- CatchBlock.cs
- HideDisabledControlAdapter.cs
- DesignerWithHeader.cs
- BinHexDecoder.cs
- NameValuePair.cs
- DependencyObjectPropertyDescriptor.cs
- DefaultSettingsSection.cs
- SchemaInfo.cs
- IncrementalHitTester.cs