Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / serverconfig.cs / 3 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlExpander.cs
- GridViewColumnCollection.cs
- ProxyWebPartManager.cs
- StructureChangedEventArgs.cs
- Attributes.cs
- ClientSettingsSection.cs
- diagnosticsswitches.cs
- FormDesigner.cs
- PreservationFileWriter.cs
- CodeTypeReferenceCollection.cs
- ActivityExecutorSurrogate.cs
- FontWeightConverter.cs
- NetworkCredential.cs
- KeyProperty.cs
- PathFigure.cs
- AnnotationMap.cs
- EventManager.cs
- Boolean.cs
- CollectionViewGroupInternal.cs
- BehaviorEditorPart.cs
- ObjectStateManager.cs
- XmlSchemaImporter.cs
- ArraySet.cs
- AxParameterData.cs
- SqlTopReducer.cs
- SqlClientWrapperSmiStream.cs
- DataTableMappingCollection.cs
- RegexRunner.cs
- SystemResourceKey.cs
- XmlSchemaAny.cs
- CrossSiteScriptingValidation.cs
- TextRunCache.cs
- CleanUpVirtualizedItemEventArgs.cs
- SystemInformation.cs
- CanonicalFontFamilyReference.cs
- CmsUtils.cs
- EventWaitHandle.cs
- IPHostEntry.cs
- DecimalFormatter.cs
- Funcletizer.cs
- ChoiceConverter.cs
- GraphicsContainer.cs
- StickyNoteContentControl.cs
- RowToFieldTransformer.cs
- WS2007HttpBinding.cs
- PrimarySelectionAdorner.cs
- TaskResultSetter.cs
- ObjectListDesigner.cs
- ImageFormatConverter.cs
- ProjectionCamera.cs
- TypeSource.cs
- SwitchAttribute.cs
- GroupQuery.cs
- RichTextBoxConstants.cs
- DetailsViewRowCollection.cs
- ClientSideQueueItem.cs
- ChangesetResponse.cs
- WindowsGraphicsCacheManager.cs
- SimpleFileLog.cs
- DoubleLink.cs
- ModelServiceImpl.cs
- UdpContractFilterBehavior.cs
- Point3DCollection.cs
- PrimitiveXmlSerializers.cs
- TagNameToTypeMapper.cs
- ScriptingJsonSerializationSection.cs
- CachedCompositeFamily.cs
- EntityClassGenerator.cs
- ObjectSecurity.cs
- DateTimePickerDesigner.cs
- QueryableDataSourceHelper.cs
- SafeArrayRankMismatchException.cs
- RegionIterator.cs
- Relationship.cs
- PanningMessageFilter.cs
- SafePointer.cs
- SharedUtils.cs
- Int32EqualityComparer.cs
- DefaultBinder.cs
- IndentedWriter.cs
- ValidatorCompatibilityHelper.cs
- _SSPISessionCache.cs
- RightsManagementEncryptedStream.cs
- RedirectionProxy.cs
- AllMembershipCondition.cs
- DetailsViewPageEventArgs.cs
- KeyedPriorityQueue.cs
- State.cs
- XmlMemberMapping.cs
- QueryExtender.cs
- HttpClientProtocol.cs
- TreeViewEvent.cs
- LayoutInformation.cs
- ControlAdapter.cs
- NetworkCredential.cs
- NotifyCollectionChangedEventArgs.cs
- DiscardableAttribute.cs
- PlatformNotSupportedException.cs
- Rect.cs
- VSWCFServiceContractGenerator.cs