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
- ParameterDataSourceExpression.cs
- TypographyProperties.cs
- XmlName.cs
- CompiledQueryCacheKey.cs
- NgenServicingAttributes.cs
- StringReader.cs
- ComponentRenameEvent.cs
- XPathScanner.cs
- HttpListenerRequest.cs
- DependencyPropertyKey.cs
- ObjectConverter.cs
- CroppedBitmap.cs
- rsa.cs
- TriggerAction.cs
- LogicalExpressionEditor.cs
- SettingsPropertyValueCollection.cs
- SqlPersonalizationProvider.cs
- DocumentXmlWriter.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- AppDomainAttributes.cs
- CssClassPropertyAttribute.cs
- HtmlElementCollection.cs
- CodePageEncoding.cs
- TemplateNameScope.cs
- Transactions.cs
- ListViewSelectEventArgs.cs
- SoapSchemaMember.cs
- MachineKeySection.cs
- EventLogPermissionEntryCollection.cs
- XmlQueryContext.cs
- InstanceData.cs
- AppDomainCompilerProxy.cs
- ComponentSerializationService.cs
- HttpVersion.cs
- DataSourceXmlSerializer.cs
- ConnectionManagementSection.cs
- EditingCoordinator.cs
- CodeSnippetTypeMember.cs
- SQLInt32Storage.cs
- WriteFileContext.cs
- ExponentialEase.cs
- Constraint.cs
- TraceProvider.cs
- AttachedAnnotation.cs
- util.cs
- WebPartConnectionsCloseVerb.cs
- SvcMapFile.cs
- PointAnimation.cs
- EntityParameter.cs
- DataTemplateSelector.cs
- ApplicationInfo.cs
- GraphicsContainer.cs
- FilterQueryOptionExpression.cs
- DataChangedEventManager.cs
- WindowsGraphicsCacheManager.cs
- BasicHttpBindingCollectionElement.cs
- AlphaSortedEnumConverter.cs
- FixedSOMSemanticBox.cs
- CacheRequest.cs
- FontStyleConverter.cs
- SQLInt32.cs
- SolidColorBrush.cs
- TransformerConfigurationWizardBase.cs
- OperatorExpressions.cs
- ResourceReferenceExpression.cs
- PrintDocument.cs
- TdsParserSessionPool.cs
- DetailsViewCommandEventArgs.cs
- HttpListenerPrefixCollection.cs
- DebuggerAttributes.cs
- InvalidEnumArgumentException.cs
- XpsSerializationManagerAsync.cs
- CompositeCollectionView.cs
- ScriptManager.cs
- CodeVariableReferenceExpression.cs
- Message.cs
- XamlPointCollectionSerializer.cs
- DecoderFallback.cs
- XmlFormatExtensionAttribute.cs
- SyndicationCategory.cs
- WebPartTransformerAttribute.cs
- RestHandlerFactory.cs
- BaseComponentEditor.cs
- Profiler.cs
- coordinator.cs
- SqlFunctionAttribute.cs
- FontWeights.cs
- DesignConnectionCollection.cs
- Pair.cs
- ApplicationSecurityInfo.cs
- StylusButtonEventArgs.cs
- SupportsEventValidationAttribute.cs
- GenerateScriptTypeAttribute.cs
- AttributeQuery.cs
- AnnotationAdorner.cs
- MasterPageBuildProvider.cs
- _UncName.cs
- DrawingBrush.cs
- StringOutput.cs
- FieldInfo.cs