Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / serverconfig.cs / 4 / 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; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SelectionRange.cs
- ToolStripPanel.cs
- DateTimePicker.cs
- RegexBoyerMoore.cs
- EntityTransaction.cs
- IfAction.cs
- SessionIDManager.cs
- CodeGenerator.cs
- RegistryKey.cs
- AnimationLayer.cs
- WebServiceFaultDesigner.cs
- PolyLineSegment.cs
- VectorValueSerializer.cs
- ExitEventArgs.cs
- ProxyManager.cs
- CmsInterop.cs
- IndexedString.cs
- UIElementAutomationPeer.cs
- JobInputBins.cs
- ByteViewer.cs
- ModelVisual3D.cs
- TableCell.cs
- Stack.cs
- BuildResultCache.cs
- Types.cs
- DbInsertCommandTree.cs
- Stack.cs
- InputLanguageEventArgs.cs
- ColorAnimationUsingKeyFrames.cs
- ResourceDisplayNameAttribute.cs
- InteropBitmapSource.cs
- mda.cs
- ServiceHostingEnvironment.cs
- ProfileSection.cs
- MsmqIntegrationProcessProtocolHandler.cs
- ValidationErrorEventArgs.cs
- ListViewSelectEventArgs.cs
- WebPart.cs
- CryptoKeySecurity.cs
- UnsafeNativeMethods.cs
- EntityDesignerBuildProvider.cs
- ErrorRuntimeConfig.cs
- HttpServerVarsCollection.cs
- SrgsDocumentParser.cs
- Rijndael.cs
- InputBindingCollection.cs
- CryptoKeySecurity.cs
- WindowsToolbar.cs
- ThreadStaticAttribute.cs
- HttpCachePolicy.cs
- ISFTagAndGuidCache.cs
- _SslStream.cs
- BamlLocalizabilityResolver.cs
- CommandID.cs
- TextLine.cs
- TemplatingOptionsDialog.cs
- HTTPNotFoundHandler.cs
- PolicyException.cs
- WindowsProgressbar.cs
- ReadOnlyCollectionBase.cs
- ScriptingSectionGroup.cs
- EntityDataSourceReferenceGroup.cs
- ServiceHttpHandlerFactory.cs
- ExpandSegmentCollection.cs
- Logging.cs
- Transform3DGroup.cs
- XmlSchemaCollection.cs
- RegexRunner.cs
- Tuple.cs
- ValidateNames.cs
- ExpressionsCollectionEditor.cs
- CompositeControl.cs
- UpWmlMobileTextWriter.cs
- XmlNodeChangedEventManager.cs
- XmlTextReaderImplHelpers.cs
- DataServiceQueryProvider.cs
- GeometryGroup.cs
- ActivationServices.cs
- SystemSounds.cs
- GeneralTransform2DTo3DTo2D.cs
- securitymgrsite.cs
- PageCatalogPart.cs
- ExpressionContext.cs
- CustomTypeDescriptor.cs
- CompilerGeneratedAttribute.cs
- BinaryMethodMessage.cs
- BaseAsyncResult.cs
- KeyGestureConverter.cs
- GlyphTypeface.cs
- ValueCollectionParameterReader.cs
- loginstatus.cs
- TypeDescriptionProviderAttribute.cs
- OdbcPermission.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- precedingsibling.cs
- OleDbReferenceCollection.cs
- NativeMethods.cs
- selecteditemcollection.cs
- NegatedCellConstant.cs
- metadatamappinghashervisitor.cs