Code:
/ DotNET / DotNET / 8.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
- GlyphRun.cs
- BufferedResponseStream.cs
- WSDualHttpBinding.cs
- ZipIOModeEnforcingStream.cs
- SupportingTokenProviderSpecification.cs
- XmlSchemaAppInfo.cs
- HwndSourceParameters.cs
- ServiceProviders.cs
- DataGridViewDataErrorEventArgs.cs
- DataSourceView.cs
- ConditionedDesigner.cs
- BinHexEncoder.cs
- MachineKeyValidationConverter.cs
- IfAction.cs
- MatrixCamera.cs
- OptionalColumn.cs
- CookieHandler.cs
- Expander.cs
- TextEffect.cs
- NameNode.cs
- TemplateBindingExtension.cs
- CodeTypeReferenceCollection.cs
- ArraySortHelper.cs
- TextBoxRenderer.cs
- ErrorProvider.cs
- XmlFormatReaderGenerator.cs
- TableLayoutSettingsTypeConverter.cs
- WebPartTransformer.cs
- DataGridHeaderBorder.cs
- DataMemberFieldEditor.cs
- Internal.cs
- StringDictionary.cs
- GenericUriParser.cs
- CompilerParameters.cs
- ClientRuntimeConfig.cs
- InvalidPrinterException.cs
- SolidColorBrush.cs
- TextContainerChangeEventArgs.cs
- IdentityModelStringsVersion1.cs
- BatchStream.cs
- WorkflowElementDialog.cs
- XPSSignatureDefinition.cs
- GlobalizationAssembly.cs
- CodeAttributeArgumentCollection.cs
- MessageQueueException.cs
- GlyphRunDrawing.cs
- Exception.cs
- DesignSurfaceManager.cs
- MetadataArtifactLoader.cs
- Compilation.cs
- OracleTimeSpan.cs
- ASCIIEncoding.cs
- Configuration.cs
- TextTreeRootTextBlock.cs
- CodeDirectoryCompiler.cs
- DataRelation.cs
- AutomationElementIdentifiers.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- glyphs.cs
- BuildDependencySet.cs
- CodeGen.cs
- MatrixAnimationBase.cs
- DataSourceHelper.cs
- CallbackValidator.cs
- Region.cs
- StringUtil.cs
- PreviewControlDesigner.cs
- TraceListeners.cs
- VerticalAlignConverter.cs
- TypedDataSourceCodeGenerator.cs
- XmlElementList.cs
- ResizeGrip.cs
- ModulesEntry.cs
- _HTTPDateParse.cs
- TableColumnCollectionInternal.cs
- ListDictionary.cs
- ListViewUpdateEventArgs.cs
- EventMappingSettings.cs
- SectionVisual.cs
- Instrumentation.cs
- XmlSchemaAnnotated.cs
- IInstanceContextProvider.cs
- ObjectKeyFrameCollection.cs
- Stroke2.cs
- WindowsAuthenticationEventArgs.cs
- DisplayInformation.cs
- AuthenticationSection.cs
- Verify.cs
- WindowsImpersonationContext.cs
- SystemGatewayIPAddressInformation.cs
- CryptoStream.cs
- TransactionContextValidator.cs
- AnonymousIdentificationModule.cs
- ConditionalAttribute.cs
- HighlightVisual.cs
- DataBinder.cs
- Exceptions.cs
- MultiTouchSystemGestureLogic.cs
- NoneExcludedImageIndexConverter.cs
- HeaderPanel.cs