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
- Clock.cs
- StylusEditingBehavior.cs
- RestHandler.cs
- PerformanceCounterManager.cs
- HttpDebugHandler.cs
- Compensate.cs
- OutOfProcStateClientManager.cs
- XPathDescendantIterator.cs
- Size.cs
- TypeInitializationException.cs
- DateTimeSerializationSection.cs
- MarginCollapsingState.cs
- FormsAuthenticationCredentials.cs
- SchemaComplexType.cs
- CapabilitiesPattern.cs
- HostedTransportConfigurationBase.cs
- MimePart.cs
- NetworkCredential.cs
- GridViewRowCollection.cs
- AnimationTimeline.cs
- PropertySet.cs
- SqlVisitor.cs
- ValidationUtility.cs
- TreeViewAutomationPeer.cs
- MonikerHelper.cs
- WindowsToolbar.cs
- NullableDoubleAverageAggregationOperator.cs
- SerializationInfo.cs
- xdrvalidator.cs
- WasHttpModulesInstallComponent.cs
- FontStyles.cs
- SimpleType.cs
- SplitterPanelDesigner.cs
- StylusEventArgs.cs
- SamlAuthorizationDecisionClaimResource.cs
- DtcInterfaces.cs
- ValueUtilsSmi.cs
- IndicShape.cs
- Array.cs
- DynamicActivity.cs
- TypeEnumerableViewSchema.cs
- TempEnvironment.cs
- WebPartsPersonalizationAuthorization.cs
- CustomErrorsSection.cs
- DateTimeFormatInfoScanner.cs
- Operators.cs
- XmlDigitalSignatureProcessor.cs
- BindingMAnagerBase.cs
- NeutralResourcesLanguageAttribute.cs
- SeekStoryboard.cs
- LinqDataSourceUpdateEventArgs.cs
- WebServiceData.cs
- GlyphRun.cs
- PagePropertiesChangingEventArgs.cs
- Sql8ExpressionRewriter.cs
- ServerReliableChannelBinder.cs
- FrameworkContentElementAutomationPeer.cs
- InputLangChangeRequestEvent.cs
- InputBinder.cs
- UnmanagedMemoryStream.cs
- PrintPageEvent.cs
- WeakReadOnlyCollection.cs
- SignatureResourcePool.cs
- formatter.cs
- MultiByteCodec.cs
- PartialArray.cs
- RetrieveVirtualItemEventArgs.cs
- ActivityContext.cs
- SqlProcedureAttribute.cs
- FaultReason.cs
- SystemColors.cs
- dataprotectionpermission.cs
- GeneralTransform3D.cs
- EntityContainerRelationshipSet.cs
- WebPartDisplayModeEventArgs.cs
- PackageFilter.cs
- IImplicitResourceProvider.cs
- ComboBox.cs
- D3DImage.cs
- BinaryConverter.cs
- CanonicalFormWriter.cs
- SystemWebExtensionsSectionGroup.cs
- RelationalExpressions.cs
- DefaultValueTypeConverter.cs
- ReferencedCollectionType.cs
- _NTAuthentication.cs
- CLRBindingWorker.cs
- GenericsInstances.cs
- UIElementPropertyUndoUnit.cs
- GreaterThanOrEqual.cs
- BaseInfoTable.cs
- MailHeaderInfo.cs
- ContentTextAutomationPeer.cs
- MetadataHelper.cs
- SymbolDocumentGenerator.cs
- ClientRolePrincipal.cs
- OLEDB_Enum.cs
- SelectionPattern.cs
- NullEntityWrapper.cs
- FixedPageStructure.cs