Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / DataOracleClient / System / Data / OracleClient / TempEnvironment.cs / 1 / TempEnvironment.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Data.OracleClient { using System; using System.Diagnostics; using System.Security; using System.Security.Permissions; //--------------------------------------------------------------------- // TempEnvironment // // Temporary Environment, used to get temporary handles so we don't // have to pass the environment handle everywhere. // sealed internal class TempEnvironment { static private OciEnvironmentHandle environmentHandle; static private OciErrorHandle availableErrorHandle; // static private volatile bool isInitialized; static private object locked = new object(); private TempEnvironment() { } static void Initialize() { lock (locked) { if (!isInitialized) { bool unicode = false; OCI.MODE environmentMode = (OCI.MODE.OCI_THREADED | OCI.MODE.OCI_OBJECT); // NOTE: cannot be NO_MUTEX because we might be multi-threaded. OCI.DetermineClientVersion(); //1 #if NEVER if (OCI.ClientVersionAtLeastOracle9i) { unicode = true; environmentMode |= OCI.MODE.OCI_UTF16; } #endif //0 environmentHandle = new OciEnvironmentHandle(environmentMode, unicode); availableErrorHandle = new OciErrorHandle(environmentHandle); isInitialized = true; } } } static internal OciErrorHandle GetErrorHandle() { OracleConnection.VerifyExecutePermission(); if (!isInitialized) { Initialize(); } return availableErrorHandle; // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Data.OracleClient { using System; using System.Diagnostics; using System.Security; using System.Security.Permissions; //--------------------------------------------------------------------- // TempEnvironment // // Temporary Environment, used to get temporary handles so we don't // have to pass the environment handle everywhere. // sealed internal class TempEnvironment { static private OciEnvironmentHandle environmentHandle; static private OciErrorHandle availableErrorHandle; // static private volatile bool isInitialized; static private object locked = new object(); private TempEnvironment() { } static void Initialize() { lock (locked) { if (!isInitialized) { bool unicode = false; OCI.MODE environmentMode = (OCI.MODE.OCI_THREADED | OCI.MODE.OCI_OBJECT); // NOTE: cannot be NO_MUTEX because we might be multi-threaded. OCI.DetermineClientVersion(); //1 #if NEVER if (OCI.ClientVersionAtLeastOracle9i) { unicode = true; environmentMode |= OCI.MODE.OCI_UTF16; } #endif //0 environmentHandle = new OciEnvironmentHandle(environmentMode, unicode); availableErrorHandle = new OciErrorHandle(environmentHandle); isInitialized = true; } } } static internal OciErrorHandle GetErrorHandle() { OracleConnection.VerifyExecutePermission(); if (!isInitialized) { Initialize(); } return availableErrorHandle; // } } } // 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
- ProcessRequestArgs.cs
- ProbeRequestResponseAsyncResult.cs
- HTMLTagNameToTypeMapper.cs
- IdentityModelStringsVersion1.cs
- Model3D.cs
- ContentPresenter.cs
- ContextQuery.cs
- DiagnosticsElement.cs
- SimpleMailWebEventProvider.cs
- ComponentResourceKey.cs
- PagedDataSource.cs
- TextFormatterHost.cs
- FormViewPagerRow.cs
- FrameworkElementFactory.cs
- Icon.cs
- TreeBuilderBamlTranslator.cs
- HttpHandlersSection.cs
- SchemaLookupTable.cs
- MatrixTransform3D.cs
- Bidi.cs
- TextParaLineResult.cs
- TextSearch.cs
- GeneratedContractType.cs
- SqlDataSourceView.cs
- RectangleF.cs
- DiagnosticsElement.cs
- X509CertificateTrustedIssuerElement.cs
- LoaderAllocator.cs
- TrustManager.cs
- HScrollBar.cs
- PageCatalogPart.cs
- ColorConverter.cs
- TypeLibConverter.cs
- ScalarOps.cs
- TableProvider.cs
- ScrollBar.cs
- Timer.cs
- XmlBinaryReaderSession.cs
- Certificate.cs
- SystemIPGlobalProperties.cs
- SoapExtension.cs
- HtmlDocument.cs
- AttachmentService.cs
- SubpageParagraph.cs
- storagemappingitemcollection.viewdictionary.cs
- MenuItem.cs
- StrokeNodeOperations.cs
- CardSpaceException.cs
- hebrewshape.cs
- MenuAdapter.cs
- RandomNumberGenerator.cs
- CompoundFileStreamReference.cs
- Bind.cs
- ConfigXmlCDataSection.cs
- HttpResponseInternalWrapper.cs
- AttachedAnnotationChangedEventArgs.cs
- DefaultSerializationProviderAttribute.cs
- SqlGenerator.cs
- Int32RectConverter.cs
- FixedTextSelectionProcessor.cs
- arabicshape.cs
- AdornerHitTestResult.cs
- XmlCharCheckingWriter.cs
- EventListener.cs
- Context.cs
- ColumnProvider.cs
- RadioButtonBaseAdapter.cs
- CacheModeValueSerializer.cs
- Material.cs
- IBuiltInEvidence.cs
- ConstantCheck.cs
- TrackingServices.cs
- ResourceProviderFactory.cs
- PageStatePersister.cs
- GeneralTransform.cs
- DataGridLinkButton.cs
- Size.cs
- CursorInteropHelper.cs
- ReflectionPermission.cs
- DataSourceCache.cs
- ZipIORawDataFileBlock.cs
- XmlAttributeAttribute.cs
- SQLConvert.cs
- DynamicRenderer.cs
- StrongName.cs
- RequestStatusBarUpdateEventArgs.cs
- EventRouteFactory.cs
- LateBoundBitmapDecoder.cs
- FormatterConverter.cs
- SafeHandles.cs
- Console.cs
- QueryableFilterRepeater.cs
- EventDescriptor.cs
- XmlHierarchicalDataSourceView.cs
- PageThemeBuildProvider.cs
- CodeSubDirectoriesCollection.cs
- CursorEditor.cs
- TableItemStyle.cs
- MetadataItemSerializer.cs
- DBSchemaTable.cs