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
- Helpers.cs
- TextRunTypographyProperties.cs
- PanelStyle.cs
- NumberFormatter.cs
- BooleanKeyFrameCollection.cs
- UInt16Converter.cs
- XmlAutoDetectWriter.cs
- SqlTriggerAttribute.cs
- PenContexts.cs
- AdCreatedEventArgs.cs
- XamlBrushSerializer.cs
- EventPropertyMap.cs
- PageAdapter.cs
- PrintDialog.cs
- ControlPropertyNameConverter.cs
- StateDesigner.CommentLayoutGlyph.cs
- CommandEventArgs.cs
- WebScriptClientGenerator.cs
- DependencyPropertyKey.cs
- GlyphsSerializer.cs
- EncoderBestFitFallback.cs
- Pair.cs
- AndAlso.cs
- BookmarkScopeManager.cs
- UserNameSecurityTokenAuthenticator.cs
- SqlDependency.cs
- CompilationLock.cs
- XmlReflectionImporter.cs
- Add.cs
- PrtCap_Builder.cs
- DataGridItemCollection.cs
- TrimSurroundingWhitespaceAttribute.cs
- FontSizeConverter.cs
- SingleSelectRootGridEntry.cs
- SiteMapNode.cs
- TextDecorationCollectionConverter.cs
- Schema.cs
- LexicalChunk.cs
- RuleRef.cs
- MediaPlayerState.cs
- TextTreeFixupNode.cs
- FacetDescription.cs
- DataGridViewRowStateChangedEventArgs.cs
- ActivationArguments.cs
- storepermission.cs
- DoubleIndependentAnimationStorage.cs
- SpellerInterop.cs
- AstNode.cs
- ResourceCategoryAttribute.cs
- SystemBrushes.cs
- ContractMethodInfo.cs
- ContentWrapperAttribute.cs
- HandlerFactoryWrapper.cs
- ImageFormat.cs
- SharedPersonalizationStateInfo.cs
- ValueProviderWrapper.cs
- WebPartUserCapability.cs
- WebBrowserNavigatingEventHandler.cs
- initElementDictionary.cs
- SemanticKeyElement.cs
- MessageBox.cs
- SecUtil.cs
- CompositeDispatchFormatter.cs
- Trace.cs
- SpeechAudioFormatInfo.cs
- StoreItemCollection.Loader.cs
- ListViewHitTestInfo.cs
- DataViewManager.cs
- ObjectListFieldCollection.cs
- ToolStripOverflow.cs
- DataFieldEditor.cs
- UIElementAutomationPeer.cs
- HtmlInputReset.cs
- TypeValidationEventArgs.cs
- VariableAction.cs
- CodeSubDirectoriesCollection.cs
- ClientApiGenerator.cs
- DockAndAnchorLayout.cs
- InternalException.cs
- CatalogPart.cs
- DelegateTypeInfo.cs
- BigInt.cs
- DbExpressionVisitor.cs
- SQLMoneyStorage.cs
- LinkedResource.cs
- HandlerFactoryWrapper.cs
- TextTrailingCharacterEllipsis.cs
- HMACMD5.cs
- ByteStack.cs
- ProcessModuleCollection.cs
- KeysConverter.cs
- SrgsNameValueTag.cs
- SafeUserTokenHandle.cs
- InternalEnumValidatorAttribute.cs
- IDQuery.cs
- arabicshape.cs
- DataGridViewRowCancelEventArgs.cs
- ObjRef.cs
- XmlQualifiedNameTest.cs
- PreApplicationStartMethodAttribute.cs