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
- SimplePropertyEntry.cs
- ThemeDictionaryExtension.cs
- SoapMessage.cs
- XmlSchemaProviderAttribute.cs
- EnumerableCollectionView.cs
- basecomparevalidator.cs
- JavaScriptObjectDeserializer.cs
- RadialGradientBrush.cs
- ComponentEvent.cs
- ListBox.cs
- IisTraceListener.cs
- TemplatePartAttribute.cs
- ApplicationSettingsBase.cs
- TimeoutException.cs
- StyleCollectionEditor.cs
- EncryptedReference.cs
- DataGridViewEditingControlShowingEventArgs.cs
- ContextProperty.cs
- DataGridRelationshipRow.cs
- IERequestCache.cs
- UnauthorizedAccessException.cs
- FontFamilyIdentifier.cs
- ServiceProviders.cs
- DefaultBindingPropertyAttribute.cs
- SelectorAutomationPeer.cs
- ProgressBarHighlightConverter.cs
- NativeMethods.cs
- ScriptingJsonSerializationSection.cs
- _ConnectionGroup.cs
- VoiceSynthesis.cs
- OleStrCAMarshaler.cs
- Buffer.cs
- TripleDES.cs
- SafeFindHandle.cs
- DataGridViewCellLinkedList.cs
- PcmConverter.cs
- DocobjHost.cs
- CqlGenerator.cs
- DbParameterHelper.cs
- fixedPageContentExtractor.cs
- HtmlWindow.cs
- FileUtil.cs
- KeyToListMap.cs
- DataBoundControlParameterTarget.cs
- MemberCollection.cs
- ReferencedType.cs
- DotAtomReader.cs
- SoapFault.cs
- IntegerValidatorAttribute.cs
- EventQueueState.cs
- PaginationProgressEventArgs.cs
- IdentifierCreationService.cs
- InputDevice.cs
- ImageList.cs
- Comparer.cs
- BamlLocalizableResourceKey.cs
- Evidence.cs
- CrossSiteScriptingValidation.cs
- TrustSection.cs
- XPathConvert.cs
- WorkflowPersistenceService.cs
- SafeEventLogReadHandle.cs
- JavaScriptSerializer.cs
- CultureInfoConverter.cs
- HMACRIPEMD160.cs
- CrossContextChannel.cs
- MenuItem.cs
- TargetPerspective.cs
- Compress.cs
- Constants.cs
- Attributes.cs
- BindingBase.cs
- Token.cs
- Tracking.cs
- ClientConvert.cs
- DataSourceControlBuilder.cs
- TrimSurroundingWhitespaceAttribute.cs
- MsmqAuthenticationMode.cs
- FrameworkTextComposition.cs
- SecurityTokenProviderContainer.cs
- UniqueConstraint.cs
- SettingsProperty.cs
- CellIdBoolean.cs
- CompatibleComparer.cs
- WebPartManagerInternals.cs
- CommandLibraryHelper.cs
- GridViewAutomationPeer.cs
- KeyToListMap.cs
- MergeFilterQuery.cs
- ComboBoxAutomationPeer.cs
- BaseResourcesBuildProvider.cs
- Environment.cs
- SystemException.cs
- ToolStripOverflow.cs
- HighlightVisual.cs
- CommonDialog.cs
- SecurityPermission.cs
- Line.cs
- PropertyMetadata.cs
- DataKeyArray.cs