Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Configuration / HostingPreferredMapPath.cs / 1 / HostingPreferredMapPath.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Configuration; using System.Collections; using System.Globalization; using System.Xml; using System.Text; using System.Web.Util; using System.Web.UI; using System.IO; using System.Web.Hosting; // // IConfigMapPath that uses the HostingEnvironment's IConfigMapPath for // paths that it maps, and uses the web server IConfigMapPath for // all other paths. // // This allows us to use mappings for an app using SimpleApplicationHost, // while still correctly mapping paths outside the app. // class HostingPreferredMapPath : IConfigMapPath { IConfigMapPath _iisConfigMapPath; IConfigMapPath _hostingConfigMapPath; internal static IConfigMapPath GetInstance() { IConfigMapPath iisConfigMapPath = IISMapPath.GetInstance(); IConfigMapPath hostingConfigMapPath = HostingEnvironment.ConfigMapPath; // Only delegate if the types implementing IConfigMapPath are different. if (hostingConfigMapPath == null || iisConfigMapPath.GetType() == hostingConfigMapPath.GetType()) return iisConfigMapPath; return new HostingPreferredMapPath(iisConfigMapPath, hostingConfigMapPath); } HostingPreferredMapPath(IConfigMapPath iisConfigMapPath, IConfigMapPath hostingConfigMapPath) { _iisConfigMapPath = iisConfigMapPath; _hostingConfigMapPath = hostingConfigMapPath; } public string GetMachineConfigFilename() { string filename = _hostingConfigMapPath.GetMachineConfigFilename(); if (string.IsNullOrEmpty(filename)) { filename = _iisConfigMapPath.GetMachineConfigFilename(); } return filename; } public string GetRootWebConfigFilename() { string filename = _hostingConfigMapPath.GetRootWebConfigFilename(); if (string.IsNullOrEmpty(filename)) { filename = _iisConfigMapPath.GetRootWebConfigFilename(); } return filename; } public void GetPathConfigFilename( string siteID, string path, out string directory, out string baseName) { _hostingConfigMapPath.GetPathConfigFilename(siteID, path, out directory, out baseName); if (string.IsNullOrEmpty(directory)) { _iisConfigMapPath.GetPathConfigFilename(siteID, path, out directory, out baseName); } } public void GetDefaultSiteNameAndID(out string siteName, out string siteID) { _hostingConfigMapPath.GetDefaultSiteNameAndID(out siteName, out siteID); if (string.IsNullOrEmpty(siteID)) { _iisConfigMapPath.GetDefaultSiteNameAndID(out siteName, out siteID); } } public void ResolveSiteArgument(string siteArgument, out string siteName, out string siteID) { _hostingConfigMapPath.ResolveSiteArgument(siteArgument, out siteName, out siteID); if (string.IsNullOrEmpty(siteID)) { _iisConfigMapPath.ResolveSiteArgument(siteArgument, out siteName, out siteID); } } public string MapPath(string siteID, string path) { string physicalPath = _hostingConfigMapPath.MapPath(siteID, path); if (string.IsNullOrEmpty(physicalPath)) { physicalPath = _iisConfigMapPath.MapPath(siteID, path); } return physicalPath; } public string GetAppPathForPath(string siteID, string path) { string appPath = _hostingConfigMapPath.GetAppPathForPath(siteID, path); if (appPath == null) { appPath = _iisConfigMapPath.GetAppPathForPath(siteID, path); } return appPath; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Configuration; using System.Collections; using System.Globalization; using System.Xml; using System.Text; using System.Web.Util; using System.Web.UI; using System.IO; using System.Web.Hosting; // // IConfigMapPath that uses the HostingEnvironment's IConfigMapPath for // paths that it maps, and uses the web server IConfigMapPath for // all other paths. // // This allows us to use mappings for an app using SimpleApplicationHost, // while still correctly mapping paths outside the app. // class HostingPreferredMapPath : IConfigMapPath { IConfigMapPath _iisConfigMapPath; IConfigMapPath _hostingConfigMapPath; internal static IConfigMapPath GetInstance() { IConfigMapPath iisConfigMapPath = IISMapPath.GetInstance(); IConfigMapPath hostingConfigMapPath = HostingEnvironment.ConfigMapPath; // Only delegate if the types implementing IConfigMapPath are different. if (hostingConfigMapPath == null || iisConfigMapPath.GetType() == hostingConfigMapPath.GetType()) return iisConfigMapPath; return new HostingPreferredMapPath(iisConfigMapPath, hostingConfigMapPath); } HostingPreferredMapPath(IConfigMapPath iisConfigMapPath, IConfigMapPath hostingConfigMapPath) { _iisConfigMapPath = iisConfigMapPath; _hostingConfigMapPath = hostingConfigMapPath; } public string GetMachineConfigFilename() { string filename = _hostingConfigMapPath.GetMachineConfigFilename(); if (string.IsNullOrEmpty(filename)) { filename = _iisConfigMapPath.GetMachineConfigFilename(); } return filename; } public string GetRootWebConfigFilename() { string filename = _hostingConfigMapPath.GetRootWebConfigFilename(); if (string.IsNullOrEmpty(filename)) { filename = _iisConfigMapPath.GetRootWebConfigFilename(); } return filename; } public void GetPathConfigFilename( string siteID, string path, out string directory, out string baseName) { _hostingConfigMapPath.GetPathConfigFilename(siteID, path, out directory, out baseName); if (string.IsNullOrEmpty(directory)) { _iisConfigMapPath.GetPathConfigFilename(siteID, path, out directory, out baseName); } } public void GetDefaultSiteNameAndID(out string siteName, out string siteID) { _hostingConfigMapPath.GetDefaultSiteNameAndID(out siteName, out siteID); if (string.IsNullOrEmpty(siteID)) { _iisConfigMapPath.GetDefaultSiteNameAndID(out siteName, out siteID); } } public void ResolveSiteArgument(string siteArgument, out string siteName, out string siteID) { _hostingConfigMapPath.ResolveSiteArgument(siteArgument, out siteName, out siteID); if (string.IsNullOrEmpty(siteID)) { _iisConfigMapPath.ResolveSiteArgument(siteArgument, out siteName, out siteID); } } public string MapPath(string siteID, string path) { string physicalPath = _hostingConfigMapPath.MapPath(siteID, path); if (string.IsNullOrEmpty(physicalPath)) { physicalPath = _iisConfigMapPath.MapPath(siteID, path); } return physicalPath; } public string GetAppPathForPath(string siteID, string path) { string appPath = _hostingConfigMapPath.GetAppPathForPath(siteID, path); if (appPath == null) { appPath = _iisConfigMapPath.GetAppPathForPath(siteID, path); } return appPath; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FormattedText.cs
- CodeGroup.cs
- WindowsEditBox.cs
- ObjectQuery_EntitySqlExtensions.cs
- NonVisualControlAttribute.cs
- LayoutSettings.cs
- NavigationProgressEventArgs.cs
- CreateRefExpr.cs
- FormsIdentity.cs
- figurelength.cs
- MissingManifestResourceException.cs
- HttpListenerElement.cs
- DiagnosticsElement.cs
- HtmlElement.cs
- ApplicationHost.cs
- X509SecurityToken.cs
- RootNamespaceAttribute.cs
- TriggerActionCollection.cs
- SmiContextFactory.cs
- entityreference_tresulttype.cs
- TemplateKey.cs
- BufferAllocator.cs
- RealizedColumnsBlock.cs
- SafeRegistryHandle.cs
- QueryHandler.cs
- Highlights.cs
- TransportConfigurationTypeElement.cs
- DigestComparer.cs
- DBDataPermissionAttribute.cs
- AuthenticationConfig.cs
- MailAddress.cs
- MsmqInputChannelListener.cs
- SessionIDManager.cs
- ResourceWriter.cs
- ScriptingSectionGroup.cs
- OleDbReferenceCollection.cs
- EmbeddedObject.cs
- ServiceDiscoveryBehavior.cs
- CompilerGlobalScopeAttribute.cs
- PropertyTabAttribute.cs
- ContentType.cs
- unsafenativemethodstextservices.cs
- LocalTransaction.cs
- ServiceInstallComponent.cs
- PartitionResolver.cs
- ClientSideProviderDescription.cs
- SHA256Managed.cs
- CodeTryCatchFinallyStatement.cs
- Scene3D.cs
- VariableAction.cs
- XmlBufferReader.cs
- PenThread.cs
- ToggleProviderWrapper.cs
- DataServiceHost.cs
- SoapHeader.cs
- NotSupportedException.cs
- Hashtable.cs
- Translator.cs
- CollectionBuilder.cs
- DefaultSection.cs
- ChtmlImageAdapter.cs
- AuthenticationService.cs
- SelectorItemAutomationPeer.cs
- HttpRequestCacheValidator.cs
- LinkedList.cs
- HttpRequestTraceRecord.cs
- DataPointer.cs
- QilLiteral.cs
- List.cs
- ProvideValueServiceProvider.cs
- documentsequencetextcontainer.cs
- CategoryNameCollection.cs
- SchemaCreator.cs
- StreamResourceInfo.cs
- UriExt.cs
- SerializationObjectManager.cs
- SchemaElement.cs
- XmlHierarchicalDataSourceView.cs
- LoginUtil.cs
- DbProviderConfigurationHandler.cs
- Int32CAMarshaler.cs
- ComplexBindingPropertiesAttribute.cs
- RIPEMD160Managed.cs
- GraphicsPathIterator.cs
- MetadataWorkspace.cs
- JavaScriptSerializer.cs
- CommandHelpers.cs
- BindValidator.cs
- Encoder.cs
- SapiInterop.cs
- DataGridViewComboBoxCell.cs
- Rfc2898DeriveBytes.cs
- AutomationProperties.cs
- ListManagerBindingsCollection.cs
- MessageQueueEnumerator.cs
- StylusPointProperty.cs
- ProxyHelper.cs
- MatrixValueSerializer.cs
- PassportAuthenticationModule.cs
- ComponentRenameEvent.cs