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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextSelectionHelper.cs
- wgx_exports.cs
- FlagsAttribute.cs
- ResourceSet.cs
- ContextDataSource.cs
- ConfigsHelper.cs
- Viewport3DVisual.cs
- PageWrapper.cs
- DataControlButton.cs
- TextBox.cs
- Binding.cs
- PingReply.cs
- TraceRecords.cs
- NameValueFileSectionHandler.cs
- PathSegmentCollection.cs
- Root.cs
- ContextMenuService.cs
- MenuBindingsEditor.cs
- MethodCallTranslator.cs
- QilFunction.cs
- XmlDataImplementation.cs
- ValueConversionAttribute.cs
- MediaTimeline.cs
- ContainerUIElement3D.cs
- MutexSecurity.cs
- InstanceStore.cs
- CatalogPart.cs
- DataGridViewControlCollection.cs
- TracingConnectionListener.cs
- AuthorizationRule.cs
- SimpleFieldTemplateUserControl.cs
- StorageEntitySetMapping.cs
- TextCharacters.cs
- HtmlTextArea.cs
- SystemWebSectionGroup.cs
- SchemaDeclBase.cs
- ResolvedKeyFrameEntry.cs
- XmlnsCompatibleWithAttribute.cs
- TimeSpanConverter.cs
- TextParagraphProperties.cs
- StyleCollectionEditor.cs
- MailAddressCollection.cs
- ColorMap.cs
- AnnotationAdorner.cs
- InputMethodStateTypeInfo.cs
- RenameRuleObjectDialog.cs
- JavaScriptString.cs
- DBCommand.cs
- SoapFault.cs
- OleDbErrorCollection.cs
- RectIndependentAnimationStorage.cs
- ApplicationSettingsBase.cs
- DataTableTypeConverter.cs
- ColumnClickEvent.cs
- HierarchicalDataBoundControlAdapter.cs
- UserControlParser.cs
- MobileContainerDesigner.cs
- MemberCollection.cs
- TrackingProfile.cs
- RTLAwareMessageBox.cs
- WindowsIdentity.cs
- MulticastDelegate.cs
- DbXmlEnabledProviderManifest.cs
- GeneralTransform2DTo3DTo2D.cs
- TextRenderingModeValidation.cs
- TransactionManager.cs
- GeneratedCodeAttribute.cs
- DataGridColumn.cs
- ComponentResourceKeyConverter.cs
- AppSettingsReader.cs
- SpeechEvent.cs
- SocketInformation.cs
- OrElse.cs
- WebPartsPersonalizationAuthorization.cs
- TimeEnumHelper.cs
- TeredoHelper.cs
- HiddenField.cs
- ToolStripSeparator.cs
- ImpersonateTokenRef.cs
- MdiWindowListStrip.cs
- httpapplicationstate.cs
- CollectionDataContract.cs
- Hash.cs
- LoaderAllocator.cs
- DrawingContext.cs
- GridViewColumn.cs
- EndEvent.cs
- ListItemsPage.cs
- Visitors.cs
- DynamicScriptObject.cs
- Console.cs
- StringToken.cs
- XmlSchemaDatatype.cs
- BitmapEffectOutputConnector.cs
- RoleService.cs
- IItemContainerGenerator.cs
- WebPartManagerDesigner.cs
- Screen.cs
- XmlIlGenerator.cs
- BindingList.cs