Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / ProviderBase / DbConnectionClosed.cs / 1305376 / DbConnectionClosed.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.ProviderBase { using System; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Diagnostics; using System.Globalization; using System.Threading; using SysTx = System.Transactions; abstract internal class DbConnectionClosed : DbConnectionInternal { // Construct an "empty" connection protected DbConnectionClosed(ConnectionState state, bool hidePassword, bool allowSetConnectionString) : base(state, hidePassword, allowSetConnectionString) { } override public string ServerVersion { get { throw ADP.ClosedConnectionError(); } } override protected void Activate(SysTx.Transaction transaction) { throw ADP.ClosedConnectionError(); } override public DbTransaction BeginTransaction(IsolationLevel il) { throw ADP.ClosedConnectionError(); } override public void ChangeDatabase(string database) { throw ADP.ClosedConnectionError(); } internal override void CloseConnection(DbConnection owningObject, DbConnectionFactory connectionFactory) { // not much to do here... } override protected void Deactivate() { throw ADP.ClosedConnectionError(); } override public void EnlistTransaction(SysTx.Transaction transaction) { throw ADP.ClosedConnectionError(); } override protected internal DataTable GetSchema(DbConnectionFactory factory, DbConnectionPoolGroup poolGroup, DbConnection outerConnection, string collectionName, string[] restrictions) { throw ADP.ClosedConnectionError(); } internal override void OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) { // Closed->Connecting: prevent set_ConnectionString during Open if (connectionFactory.SetInnerConnectionFrom(outerConnection, DbConnectionClosedConnecting.SingletonInstance, this)) { DbConnectionInternal openConnection = null; try { connectionFactory.PermissionDemand(outerConnection); openConnection = connectionFactory.GetConnection(outerConnection); } catch { // This should occure for all exceptions, even ADP.UnCatchableExceptions. connectionFactory.SetInnerConnectionTo(outerConnection, this); throw; } if (null == openConnection) { connectionFactory.SetInnerConnectionTo(outerConnection, this); throw ADP.InternalConnectionError(ADP.ConnectionError.GetConnectionReturnsNull); } connectionFactory.SetInnerConnectionEvent(outerConnection, openConnection); } } } abstract internal class DbConnectionBusy : DbConnectionClosed { protected DbConnectionBusy(ConnectionState state) : base(state, true, false) { } internal override void OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) { throw ADP.ConnectionAlreadyOpen(State); } } sealed internal class DbConnectionClosedBusy : DbConnectionBusy { // Closed Connection, Currently Busy - changing connection string internal static readonly DbConnectionInternal SingletonInstance = new DbConnectionClosedBusy(); // singleton object private DbConnectionClosedBusy() : base(ConnectionState.Closed) { } } sealed internal class DbConnectionOpenBusy : DbConnectionBusy { // Open Connection, Currently Busy - closing connection internal static readonly DbConnectionInternal SingletonInstance = new DbConnectionOpenBusy(); // singleton object private DbConnectionOpenBusy() : base(ConnectionState.Open) { } } sealed internal class DbConnectionClosedConnecting : DbConnectionBusy { // Closed Connection, Currently Connecting internal static readonly DbConnectionInternal SingletonInstance = new DbConnectionClosedConnecting(); // singleton object private DbConnectionClosedConnecting() : base(ConnectionState.Connecting) { } } sealed internal class DbConnectionClosedNeverOpened : DbConnectionClosed { // Closed Connection, Has Never Been Opened internal static readonly DbConnectionInternal SingletonInstance = new DbConnectionClosedNeverOpened(); // singleton object private DbConnectionClosedNeverOpened() : base(ConnectionState.Closed, false, true) { } } sealed internal class DbConnectionClosedPreviouslyOpened : DbConnectionClosed { // Closed Connection, Has Previously Been Opened internal static readonly DbConnectionInternal SingletonInstance = new DbConnectionClosedPreviouslyOpened(); // singleton object private DbConnectionClosedPreviouslyOpened() : base(ConnectionState.Closed, true, true) { } } } // 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
- NetTcpSection.cs
- securestring.cs
- ValidationSummaryDesigner.cs
- IndexedEnumerable.cs
- TypedDatasetGenerator.cs
- PropertyPathConverter.cs
- InternalControlCollection.cs
- ColorBuilder.cs
- PointIndependentAnimationStorage.cs
- GridView.cs
- unsafeIndexingFilterStream.cs
- Utils.cs
- MethodToken.cs
- SelectionEditor.cs
- MappingMetadataHelper.cs
- CatalogPart.cs
- PathNode.cs
- XmlDictionaryString.cs
- SQLInt16.cs
- WebSysDefaultValueAttribute.cs
- Expressions.cs
- RawStylusInput.cs
- IncrementalHitTester.cs
- ConsoleEntryPoint.cs
- GestureRecognizer.cs
- LabelDesigner.cs
- CompilationSection.cs
- JsonSerializer.cs
- DataBoundControl.cs
- SQLBinaryStorage.cs
- DynamicMethod.cs
- ISFClipboardData.cs
- InstancePersistenceCommandException.cs
- InitializerFacet.cs
- MimeTypeMapper.cs
- RolePrincipal.cs
- SystemWebCachingSectionGroup.cs
- ResourceExpression.cs
- WindowsTokenRoleProvider.cs
- MultiSelector.cs
- TableLayoutSettings.cs
- OnOperation.cs
- PackageFilter.cs
- AssertHelper.cs
- RowVisual.cs
- ProviderException.cs
- SqlAliaser.cs
- SafeArrayTypeMismatchException.cs
- SqlMetaData.cs
- TimeSpanStorage.cs
- ConfigurationElementProperty.cs
- RowSpanVector.cs
- ParseNumbers.cs
- System.Data.OracleClient_BID.cs
- StylusDevice.cs
- TreeNodeSelectionProcessor.cs
- SafeTokenHandle.cs
- SectionInformation.cs
- QilUnary.cs
- BackgroundFormatInfo.cs
- PolicyStatement.cs
- ComponentFactoryHelpers.cs
- AppDomainResourcePerfCounters.cs
- ImageFormatConverter.cs
- PreProcessInputEventArgs.cs
- XmlJsonReader.cs
- VectorKeyFrameCollection.cs
- Mappings.cs
- Panel.cs
- CommonObjectSecurity.cs
- PropertyRecord.cs
- UnaryOperationBinder.cs
- TypedElement.cs
- ExpressionPrefixAttribute.cs
- SchemaUtility.cs
- VectorCollectionValueSerializer.cs
- Shape.cs
- ScrollBar.cs
- PopupControlService.cs
- ClientProxyGenerator.cs
- MediaCommands.cs
- WebWorkflowRole.cs
- TracingConnectionInitiator.cs
- DataSourceCache.cs
- ComplexType.cs
- SolidColorBrush.cs
- ObjectQuery.cs
- StorageEndPropertyMapping.cs
- HwndTarget.cs
- WebServiceMethodData.cs
- Constraint.cs
- ClientRolePrincipal.cs
- SystemTcpStatistics.cs
- ObjectDataSourceDesigner.cs
- Mappings.cs
- LambdaCompiler.Binary.cs
- ConfigurationManagerInternalFactory.cs
- SchemaMerger.cs
- QilScopedVisitor.cs
- Line.cs