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
- wgx_render.cs
- TextClipboardData.cs
- TypeUtil.cs
- SkipQueryOptionExpression.cs
- XmlSyndicationContent.cs
- DataServiceProviderWrapper.cs
- AutoResizedEvent.cs
- PropertySourceInfo.cs
- DataGridViewColumn.cs
- MethodCallConverter.cs
- ServicesSection.cs
- PageAsyncTask.cs
- ColumnBinding.cs
- SharedUtils.cs
- XmlBinaryReader.cs
- SpecularMaterial.cs
- RegexCaptureCollection.cs
- LocalFileSettingsProvider.cs
- EntitySqlException.cs
- EventSourceCreationData.cs
- IItemContainerGenerator.cs
- ObjectAnimationUsingKeyFrames.cs
- RectAnimationClockResource.cs
- CqlLexer.cs
- mediaclock.cs
- ErrorView.xaml.cs
- BooleanStorage.cs
- CustomError.cs
- XmlComment.cs
- PackageRelationship.cs
- MenuCommandService.cs
- HttpPostedFileBase.cs
- DataGridViewBindingCompleteEventArgs.cs
- WpfPayload.cs
- DataGridViewCellValidatingEventArgs.cs
- BrowserDefinitionCollection.cs
- ViewgenGatekeeper.cs
- XLinq.cs
- RuleConditionDialog.cs
- DependencyPropertyChangedEventArgs.cs
- Camera.cs
- SettingsContext.cs
- InkPresenter.cs
- RequestQueryProcessor.cs
- WebHttpBindingElement.cs
- ScriptControlManager.cs
- FaultConverter.cs
- TextBlockAutomationPeer.cs
- AsyncPostBackErrorEventArgs.cs
- ConditionalBranch.cs
- SmiGettersStream.cs
- ExpressionBuilderCollection.cs
- RangeValidator.cs
- JapaneseCalendar.cs
- SecurityContext.cs
- TransactionBehavior.cs
- BindingElement.cs
- TableCell.cs
- BulletedList.cs
- CreateDataSourceDialog.cs
- StdValidatorsAndConverters.cs
- BufferAllocator.cs
- XmlLinkedNode.cs
- ButtonPopupAdapter.cs
- ExpressionVisitor.cs
- GenericPrincipal.cs
- PropertyChangedEventArgs.cs
- ExecutionPropertyManager.cs
- PermissionSet.cs
- ArrayConverter.cs
- ProtocolsSection.cs
- RegexCaptureCollection.cs
- AsyncPostBackErrorEventArgs.cs
- FocusWithinProperty.cs
- SinglePhaseEnlistment.cs
- WebPartDisplayModeEventArgs.cs
- InputReportEventArgs.cs
- PersonalizationProviderCollection.cs
- Exceptions.cs
- CommonEndpointBehaviorElement.cs
- VisualBasicSettings.cs
- BaseServiceProvider.cs
- DrawListViewSubItemEventArgs.cs
- TextTreeFixupNode.cs
- ObjectViewListener.cs
- InternalResources.cs
- RMPermissions.cs
- SplayTreeNode.cs
- DockProviderWrapper.cs
- SizeF.cs
- SoapIgnoreAttribute.cs
- BitArray.cs
- ResourceAttributes.cs
- ProtocolsConfigurationEntry.cs
- XmlQualifiedName.cs
- Boolean.cs
- ViewStateModeByIdAttribute.cs
- HexParser.cs
- ResponseBodyWriter.cs
- AspProxy.cs