Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Configuration / serverconfig.cs / 1 / serverconfig.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Configuration; using System.Collections; using System.Globalization; using System.Text; using System.Threading; using System.Web.Util; using System.Web.Hosting; using System.Web.Caching; using System.Web.Compilation; using Microsoft.Win32; // // Abstracts differences between config retreived from IIS 6 metabase // and config retreived from new IIS7 configuration system. // static internal class ServerConfig { static int s_iisMajorVersion = 0; internal static bool UseMetabase { get { if (s_iisMajorVersion == 0) { int version; try { object ver = Registry.GetValue("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\InetStp", "MajorVersion", 0); version = (ver != null) ? (int) ver : -1; } catch (ArgumentException) { // Ignore ArgumentException from Registry.GetValue. This may indicate that the key does not exist, i.e. IIS not installed version = -1; // Key not found } Interlocked.CompareExchange(ref s_iisMajorVersion, version, 0); } return s_iisMajorVersion <= 6; } } static internal IServerConfig GetInstance() { // IIS 7 bits on <= IIS 6: use the metabase if (UseMetabase) { return MetabaseServerConfig.GetInstance(); } return ProcessHostServerConfig.GetInstance(); } // // Return true in cases where web server configuration should be used // to resolve paths. // static int s_useServerConfig = -1; static internal bool UseServerConfig { get { if (s_useServerConfig == -1) { int useServerConfig = 0; // Must use web server config if there is no hosting environment if (!HostingEnvironment.IsHosted) { useServerConfig = 1; } // Hosting environment is the web server else if (HostingEnvironment.ApplicationHost is ISAPIApplicationHost) { useServerConfig = 1; } // Hosting environment is the web server else if (HostingEnvironment.IsUnderIISProcess && !BuildManagerHost.InClientBuildManager) { useServerConfig = 1; } Interlocked.CompareExchange(ref s_useServerConfig, useServerConfig, -1); } return s_useServerConfig == 1; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Configuration; using System.Collections; using System.Globalization; using System.Text; using System.Threading; using System.Web.Util; using System.Web.Hosting; using System.Web.Caching; using System.Web.Compilation; using Microsoft.Win32; // // Abstracts differences between config retreived from IIS 6 metabase // and config retreived from new IIS7 configuration system. // static internal class ServerConfig { static int s_iisMajorVersion = 0; internal static bool UseMetabase { get { if (s_iisMajorVersion == 0) { int version; try { object ver = Registry.GetValue("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\InetStp", "MajorVersion", 0); version = (ver != null) ? (int) ver : -1; } catch (ArgumentException) { // Ignore ArgumentException from Registry.GetValue. This may indicate that the key does not exist, i.e. IIS not installed version = -1; // Key not found } Interlocked.CompareExchange(ref s_iisMajorVersion, version, 0); } return s_iisMajorVersion <= 6; } } static internal IServerConfig GetInstance() { // IIS 7 bits on <= IIS 6: use the metabase if (UseMetabase) { return MetabaseServerConfig.GetInstance(); } return ProcessHostServerConfig.GetInstance(); } // // Return true in cases where web server configuration should be used // to resolve paths. // static int s_useServerConfig = -1; static internal bool UseServerConfig { get { if (s_useServerConfig == -1) { int useServerConfig = 0; // Must use web server config if there is no hosting environment if (!HostingEnvironment.IsHosted) { useServerConfig = 1; } // Hosting environment is the web server else if (HostingEnvironment.ApplicationHost is ISAPIApplicationHost) { useServerConfig = 1; } // Hosting environment is the web server else if (HostingEnvironment.IsUnderIISProcess && !BuildManagerHost.InClientBuildManager) { useServerConfig = 1; } Interlocked.CompareExchange(ref s_useServerConfig, useServerConfig, -1); } return s_useServerConfig == 1; } } } } // 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
- ValueQuery.cs
- NumberFormatInfo.cs
- SqlColumnizer.cs
- MeshGeometry3D.cs
- LineGeometry.cs
- ByteAnimation.cs
- DeleteIndexBinder.cs
- AutomationElement.cs
- RichTextBoxConstants.cs
- DefaultPrintController.cs
- WebPartTransformerAttribute.cs
- MenuRendererClassic.cs
- SkipStoryboardToFill.cs
- PtsCache.cs
- XhtmlConformanceSection.cs
- UpdateRecord.cs
- TimeSpanMinutesConverter.cs
- PersonalizationStateQuery.cs
- SchemaTypeEmitter.cs
- SystemIcons.cs
- DuplexChannelFactory.cs
- ResourceAttributes.cs
- UnsafeNativeMethodsPenimc.cs
- _Win32.cs
- _LocalDataStoreMgr.cs
- Nodes.cs
- DataConnectionHelper.cs
- CodeIterationStatement.cs
- OracleCommandBuilder.cs
- TextTrailingWordEllipsis.cs
- OletxTransactionManager.cs
- ComboBox.cs
- XmlSchemaSimpleTypeUnion.cs
- DataGridViewComboBoxColumn.cs
- ObjectDataSourceView.cs
- UserControlCodeDomTreeGenerator.cs
- MenuItemStyleCollection.cs
- GC.cs
- Wow64ConfigurationLoader.cs
- LabelAutomationPeer.cs
- EncoderReplacementFallback.cs
- IncomingWebResponseContext.cs
- nulltextnavigator.cs
- ObservableCollection.cs
- CodeCatchClauseCollection.cs
- CorrelationManager.cs
- PanelStyle.cs
- ObjectSelectorEditor.cs
- FunctionNode.cs
- FixedPageAutomationPeer.cs
- LeaseManager.cs
- RowType.cs
- CodeCastExpression.cs
- XmlSchemaParticle.cs
- RowParagraph.cs
- HwndSubclass.cs
- TextRangeEditLists.cs
- ControlEvent.cs
- ResponseStream.cs
- ConfigXmlElement.cs
- GeometryConverter.cs
- WMIGenerator.cs
- CurrencyWrapper.cs
- DynamicMethod.cs
- AmbientValueAttribute.cs
- DataObjectSettingDataEventArgs.cs
- CacheOutputQuery.cs
- Single.cs
- ListView.cs
- _PooledStream.cs
- Sentence.cs
- SecureConversationServiceElement.cs
- X509ChainPolicy.cs
- TypeHelpers.cs
- DefaultPrintController.cs
- DataContractSerializerOperationFormatter.cs
- ActivityDesignerAccessibleObject.cs
- ChangeNode.cs
- StorageTypeMapping.cs
- SafeCryptoHandles.cs
- IndependentAnimationStorage.cs
- AppModelKnownContentFactory.cs
- ThicknessConverter.cs
- EventProxy.cs
- ItemChangedEventArgs.cs
- _LazyAsyncResult.cs
- ParseNumbers.cs
- CachedTypeface.cs
- MetadataSerializer.cs
- SettingsProviderCollection.cs
- DataObjectEventArgs.cs
- XmlMembersMapping.cs
- UpdatableGenericsFeature.cs
- UInt32.cs
- EntityModelSchemaGenerator.cs
- AsyncResult.cs
- RemotingSurrogateSelector.cs
- ThreadExceptionEvent.cs
- Brushes.cs
- Interfaces.cs