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
- Config.cs
- OleDbPropertySetGuid.cs
- ProxyWebPartConnectionCollection.cs
- XappLauncher.cs
- PackageDigitalSignatureManager.cs
- ControlBindingsCollection.cs
- CodeSubDirectory.cs
- EventQueueState.cs
- FileSystemEventArgs.cs
- Pen.cs
- OutputWindow.cs
- SmtpException.cs
- CookieParameter.cs
- SqlBulkCopy.cs
- DispatcherOperation.cs
- QuaternionConverter.cs
- WindowsGraphics.cs
- TrustManager.cs
- ToolStripManager.cs
- Internal.cs
- DataContractJsonSerializer.cs
- XmlILTrace.cs
- KeyMatchBuilder.cs
- SafeLocalAllocation.cs
- SoapAttributeAttribute.cs
- Types.cs
- FormsAuthenticationModule.cs
- DesignerCategoryAttribute.cs
- XPathDocumentNavigator.cs
- CompModSwitches.cs
- SizeAnimationBase.cs
- SeverityFilter.cs
- EventNotify.cs
- ModelFactory.cs
- DataTableExtensions.cs
- CultureSpecificCharacterBufferRange.cs
- TableParagraph.cs
- ChannelServices.cs
- WorkflowRuntimeServiceElement.cs
- ToolBar.cs
- SmtpClient.cs
- FontWeight.cs
- Pair.cs
- MenuItemCollection.cs
- RoutedEvent.cs
- Errors.cs
- _FtpDataStream.cs
- ColorTransformHelper.cs
- TreeNodeStyleCollectionEditor.cs
- PermissionToken.cs
- DataObjectCopyingEventArgs.cs
- ListSourceHelper.cs
- SoapParser.cs
- BitmapMetadataBlob.cs
- ReadContentAsBinaryHelper.cs
- TemplateGroupCollection.cs
- ContentPlaceHolder.cs
- ParenthesizePropertyNameAttribute.cs
- XPathScanner.cs
- Literal.cs
- StringInfo.cs
- PolyQuadraticBezierSegment.cs
- SettingsPropertyWrongTypeException.cs
- TransactionFlowBindingElementImporter.cs
- SelectiveScrollingGrid.cs
- CodeMethodReturnStatement.cs
- GridViewPageEventArgs.cs
- Context.cs
- FixedStringLookup.cs
- TemporaryBitmapFile.cs
- PointAnimationUsingKeyFrames.cs
- SafeCertificateStore.cs
- SQLRoleProvider.cs
- View.cs
- RtfControls.cs
- Pkcs7Signer.cs
- ProtocolsConfigurationHandler.cs
- SoapUnknownHeader.cs
- sqlstateclientmanager.cs
- AnimatedTypeHelpers.cs
- HtmlShimManager.cs
- listitem.cs
- MonitorWrapper.cs
- SqlNotificationEventArgs.cs
- StreamWriter.cs
- XmlUrlResolver.cs
- ConfigurationCollectionAttribute.cs
- EdmItemCollection.cs
- OdbcInfoMessageEvent.cs
- SpanIndex.cs
- OleServicesContext.cs
- DesignerRegion.cs
- ProxyFragment.cs
- QueueTransferProtocol.cs
- OrderedDictionaryStateHelper.cs
- PlanCompilerUtil.cs
- XmlBinaryWriter.cs
- DocumentOrderComparer.cs
- PackagePartCollection.cs
- TypeViewSchema.cs