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
- SessionPageStatePersister.cs
- Knowncolors.cs
- BatchStream.cs
- DeferredTextReference.cs
- ZipIOLocalFileHeader.cs
- WebPartsPersonalizationAuthorization.cs
- SqlRecordBuffer.cs
- FrameworkContentElement.cs
- DataTableMappingCollection.cs
- ClientRoleProvider.cs
- ServiceActivationException.cs
- SQLDateTime.cs
- TextInfo.cs
- ContainerSelectorActiveEvent.cs
- InstanceDataCollectionCollection.cs
- XPathParser.cs
- PointKeyFrameCollection.cs
- QilLiteral.cs
- Matrix3D.cs
- RuntimeConfig.cs
- SynchronizedInputAdaptor.cs
- GlobalizationSection.cs
- EdmComplexPropertyAttribute.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- DiscoveryClientProtocol.cs
- OutOfProcStateClientManager.cs
- Debug.cs
- HtmlInputButton.cs
- EventMappingSettings.cs
- ConnectionProviderAttribute.cs
- ToolStripPanelRow.cs
- ProfileModule.cs
- ColorMap.cs
- AdRotator.cs
- ToolStripSettings.cs
- CharAnimationUsingKeyFrames.cs
- UTF8Encoding.cs
- HtmlShim.cs
- ProgressBar.cs
- TypeDescriptor.cs
- PocoPropertyAccessorStrategy.cs
- EmbeddedMailObject.cs
- Decoder.cs
- Canonicalizers.cs
- RawStylusSystemGestureInputReport.cs
- ListViewItemMouseHoverEvent.cs
- SqlUtils.cs
- PerformanceCounterPermission.cs
- HtmlInputFile.cs
- Context.cs
- TableCellCollection.cs
- HttpRuntimeSection.cs
- StateItem.cs
- ProfileSection.cs
- ExeContext.cs
- AssemblyName.cs
- HttpModulesSection.cs
- CodeCompiler.cs
- ScriptingProfileServiceSection.cs
- HeaderUtility.cs
- Attribute.cs
- DesignerToolStripControlHost.cs
- WebPartConnectionsCancelVerb.cs
- GreenMethods.cs
- ContainerParaClient.cs
- Point.cs
- PropertyToken.cs
- MgmtResManager.cs
- InvokeGenerator.cs
- GraphicsPath.cs
- ViewBox.cs
- BindingGroup.cs
- XmlTextEncoder.cs
- OleDbRowUpdatedEvent.cs
- UITypeEditors.cs
- OciLobLocator.cs
- SessionViewState.cs
- EntityParameter.cs
- XsltSettings.cs
- CodePrimitiveExpression.cs
- SQLBoolean.cs
- ITreeGenerator.cs
- EntityDataSourceChangedEventArgs.cs
- SystemIcmpV4Statistics.cs
- HScrollProperties.cs
- XmlSchemaResource.cs
- SQLBytes.cs
- TimeSpanStorage.cs
- TreeSet.cs
- Underline.cs
- LineSegment.cs
- NamedPermissionSet.cs
- LassoSelectionBehavior.cs
- SqlDataSourceSelectingEventArgs.cs
- AudioFileOut.cs
- SplitterCancelEvent.cs
- ByteConverter.cs
- BuildProviderCollection.cs
- DbUpdateCommandTree.cs
- TextStore.cs