Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- AppDomainFactory.cs
- BitmapEffectDrawingContent.cs
- SqlConnectionManager.cs
- XmlMapping.cs
- BinaryFormatter.cs
- MgmtConfigurationRecord.cs
- exports.cs
- SiteMapSection.cs
- GenericXmlSecurityToken.cs
- ErrorItem.cs
- RegularExpressionValidator.cs
- SqlDataSourceView.cs
- UrlAuthFailedErrorFormatter.cs
- WebPartAuthorizationEventArgs.cs
- ChangeProcessor.cs
- XmlDocumentFragment.cs
- log.cs
- UpdatePanelTrigger.cs
- FieldNameLookup.cs
- PathFigure.cs
- AssemblyBuilder.cs
- FloatAverageAggregationOperator.cs
- __Filters.cs
- ServiceOperationParameter.cs
- SiteMapHierarchicalDataSourceView.cs
- DataContractJsonSerializer.cs
- XmlDomTextWriter.cs
- EventWaitHandle.cs
- FilterableAttribute.cs
- ImageMap.cs
- DeploymentSection.cs
- HostingPreferredMapPath.cs
- ToolBar.cs
- RadioButtonAutomationPeer.cs
- ObjectDataSourceDesigner.cs
- SqlFlattener.cs
- TextCompositionManager.cs
- DependencyObjectValidator.cs
- ClientFormsIdentity.cs
- SystemUdpStatistics.cs
- ISFClipboardData.cs
- SourceFileBuildProvider.cs
- WebControlsSection.cs
- URLMembershipCondition.cs
- AmbientLight.cs
- ResourceReferenceExpressionConverter.cs
- GeneralTransform.cs
- MarkupExtensionParser.cs
- WindowsUpDown.cs
- HyperLinkField.cs
- RepeaterItemEventArgs.cs
- ConfigurationSettings.cs
- IIS7UserPrincipal.cs
- DeviceSpecificDialogCachedState.cs
- TypeGeneratedEventArgs.cs
- IndentedTextWriter.cs
- ContextMenuStrip.cs
- Speller.cs
- RegexMatch.cs
- HttpListenerException.cs
- SecurityManager.cs
- LinkConverter.cs
- ModuleElement.cs
- TabPage.cs
- GeneralTransform.cs
- SequenceNumber.cs
- XamlPoint3DCollectionSerializer.cs
- C14NUtil.cs
- SplayTreeNode.cs
- UnsafeNativeMethods.cs
- ApplicationException.cs
- FilterQueryOptionExpression.cs
- StartUpEventArgs.cs
- SapiGrammar.cs
- WebPartTransformerAttribute.cs
- ArrangedElementCollection.cs
- RoleManagerModule.cs
- RuntimeHandles.cs
- XPathNodeHelper.cs
- PersonalizationProvider.cs
- XmlHierarchicalDataSourceView.cs
- PathFigureCollection.cs
- SignatureHelper.cs
- Graphics.cs
- TextMarkerSource.cs
- CancellationToken.cs
- RangeValuePattern.cs
- CatalogPartCollection.cs
- PlanCompiler.cs
- BooleanKeyFrameCollection.cs
- DragDeltaEventArgs.cs
- EntityCollection.cs
- Rule.cs
- _DigestClient.cs
- FormsAuthenticationUserCollection.cs
- TypeConverterHelper.cs
- ErrorBehavior.cs
- ByeMessage11.cs
- SafeLibraryHandle.cs
- SystemResources.cs