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
- Transaction.cs
- OracleRowUpdatedEventArgs.cs
- ConstantExpression.cs
- Visual3D.cs
- DbExpressionRules.cs
- AsnEncodedData.cs
- WindowsAuthenticationEventArgs.cs
- CompilerError.cs
- DBSchemaTable.cs
- ProfileSettingsCollection.cs
- CodeIdentifier.cs
- DataGridViewCellStyle.cs
- SqlFactory.cs
- ISessionStateStore.cs
- ClientType.cs
- EventLogInformation.cs
- Expressions.cs
- DoubleLinkListEnumerator.cs
- SQLMoney.cs
- XomlDesignerLoader.cs
- EditorResources.cs
- TypeInfo.cs
- WebPartConnectionCollection.cs
- NotSupportedException.cs
- AssemblySettingAttributes.cs
- DependencyObjectValidator.cs
- ListSortDescription.cs
- ObjectAssociationEndMapping.cs
- SchemaImporterExtension.cs
- TableLayoutPanelCellPosition.cs
- DPTypeDescriptorContext.cs
- PrimitiveType.cs
- FocusManager.cs
- EnumValidator.cs
- ExtensionQuery.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- RuntimeArgumentHandle.cs
- InstanceCompleteException.cs
- DynamicValidatorEventArgs.cs
- WeakReference.cs
- TreeNodeEventArgs.cs
- CodeGeneratorOptions.cs
- CFGGrammar.cs
- CodeActivityContext.cs
- AdapterUtil.cs
- CookieProtection.cs
- NCryptNative.cs
- Rotation3DKeyFrameCollection.cs
- SynchronizationValidator.cs
- RoutedEventValueSerializer.cs
- TabPage.cs
- CollectionEditVerbManager.cs
- SqlFacetAttribute.cs
- returneventsaver.cs
- DesignerSerializationOptionsAttribute.cs
- BufferBuilder.cs
- SocketElement.cs
- PageCatalogPart.cs
- TypeRefElement.cs
- SspiWrapper.cs
- NullableDoubleSumAggregationOperator.cs
- BaseCodeDomTreeGenerator.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- DropTarget.cs
- StringExpressionSet.cs
- X509SecurityToken.cs
- OSFeature.cs
- WebException.cs
- ProviderIncompatibleException.cs
- RelativeSource.cs
- SelectingProviderEventArgs.cs
- UserControlDocumentDesigner.cs
- Trace.cs
- BuildManager.cs
- BCLDebug.cs
- DataGridPagerStyle.cs
- Stream.cs
- ValidationErrorCollection.cs
- SplineKeyFrames.cs
- DataFormat.cs
- ConfigurationSettings.cs
- EasingKeyFrames.cs
- TraceHandler.cs
- Internal.cs
- WorkerRequest.cs
- Bits.cs
- XmlObjectSerializerReadContextComplex.cs
- SafeSecurityHelper.cs
- TrackingProfileDeserializationException.cs
- HeaderedItemsControl.cs
- SystemKeyConverter.cs
- BatchStream.cs
- RectangleConverter.cs
- RijndaelManaged.cs
- WebRequest.cs
- LambdaCompiler.ControlFlow.cs
- XmlSchemaElement.cs
- DataBindingsDialog.cs
- ScriptReferenceEventArgs.cs
- PixelFormats.cs