Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / ProviderBase / DbConnectionClosed.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProvidersHelper.cs
- HtmlTableCellCollection.cs
- DataSourceCacheDurationConverter.cs
- UriParserTemplates.cs
- IODescriptionAttribute.cs
- RowToParametersTransformer.cs
- XmlStringTable.cs
- InputBinder.cs
- TypeDescriptionProviderAttribute.cs
- Compiler.cs
- StandardBindingCollectionElement.cs
- FunctionQuery.cs
- WindowsPrincipal.cs
- Shape.cs
- log.cs
- WebAdminConfigurationHelper.cs
- ScriptingWebServicesSectionGroup.cs
- DataException.cs
- XamlToRtfParser.cs
- XsdBuildProvider.cs
- EntityClassGenerator.cs
- EncryptedXml.cs
- TraceListeners.cs
- Convert.cs
- AutoCompleteStringCollection.cs
- DynamicMetaObject.cs
- DataGridViewComboBoxColumn.cs
- UICuesEvent.cs
- wgx_sdk_version.cs
- PenThreadPool.cs
- NetworkInformationPermission.cs
- Animatable.cs
- SystemInformation.cs
- MailDefinition.cs
- CollectionConverter.cs
- CursorConverter.cs
- RangeValueProviderWrapper.cs
- ClientUrlResolverWrapper.cs
- LinkTarget.cs
- DurableMessageDispatchInspector.cs
- ExpressionVisitor.cs
- AssemblyInfo.cs
- RequiredFieldValidator.cs
- Permission.cs
- CacheRequest.cs
- RegexFCD.cs
- OdbcConnection.cs
- RequestCacheValidator.cs
- DataPagerFieldCommandEventArgs.cs
- DataGridViewRowConverter.cs
- ConnectionInterfaceCollection.cs
- SectionVisual.cs
- AuthenticationManager.cs
- BookmarkCallbackWrapper.cs
- TextEditorLists.cs
- BaseParagraph.cs
- HtmlPhoneCallAdapter.cs
- WindowsNonControl.cs
- NamespaceInfo.cs
- UnmanagedBitmapWrapper.cs
- DatePickerDateValidationErrorEventArgs.cs
- PolyLineSegment.cs
- Inflater.cs
- Vector3DKeyFrameCollection.cs
- XmlNamespaceDeclarationsAttribute.cs
- CollectionContainer.cs
- HttpListenerResponse.cs
- DLinqDataModelProvider.cs
- XsdBuilder.cs
- Binding.cs
- XmlImplementation.cs
- ToolStripItemCollection.cs
- SqlVersion.cs
- AdRotatorDesigner.cs
- WindowsFormsHostAutomationPeer.cs
- SignatureToken.cs
- FreezableCollection.cs
- ContentFilePart.cs
- ArgumentNullException.cs
- DigestTraceRecordHelper.cs
- PageAsyncTaskManager.cs
- Model3DGroup.cs
- ContextMenuStripActionList.cs
- AutoSizeComboBox.cs
- ListArgumentProvider.cs
- XmlMembersMapping.cs
- Module.cs
- ScriptControlManager.cs
- ClientSettingsSection.cs
- ImageDrawing.cs
- SqlCacheDependencyDatabase.cs
- ShaderEffect.cs
- SinglePageViewer.cs
- ResourceDescriptionAttribute.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- ContentElement.cs
- DesignerListAdapter.cs
- DiscoveryServerProtocol.cs
- PeerReferralPolicy.cs
- XmlComplianceUtil.cs