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
- GetWinFXPath.cs
- JsonFormatGeneratorStatics.cs
- HttpModuleCollection.cs
- XmlMemberMapping.cs
- Vector3DCollectionConverter.cs
- UnicodeEncoding.cs
- WebPartActionVerb.cs
- Label.cs
- DataGridColumnFloatingHeader.cs
- AsymmetricKeyExchangeFormatter.cs
- PhysicalFontFamily.cs
- WinFormsUtils.cs
- AnimationLayer.cs
- SqlInternalConnectionTds.cs
- DecoderNLS.cs
- OutputCacheSection.cs
- HostProtectionException.cs
- ServiceMetadataExtension.cs
- InternalPermissions.cs
- ToolBar.cs
- ErrorWrapper.cs
- ContractMapping.cs
- ObjectSecurity.cs
- CompilationSection.cs
- TransportChannelListener.cs
- FlowDocumentPageViewerAutomationPeer.cs
- LeftCellWrapper.cs
- RTLAwareMessageBox.cs
- BuildProviderCollection.cs
- TableCell.cs
- TypeElement.cs
- XPathDocumentBuilder.cs
- AppliedDeviceFiltersDialog.cs
- TypeRestriction.cs
- Bidi.cs
- StandardToolWindows.cs
- AuthenticateEventArgs.cs
- SelectionPattern.cs
- GeometryCollection.cs
- HttpClientCertificate.cs
- PropertyGridCommands.cs
- WebConvert.cs
- XamlFrame.cs
- Vector3DConverter.cs
- ProjectionRewriter.cs
- Grid.cs
- TextureBrush.cs
- DateRangeEvent.cs
- UserControl.cs
- TextServicesContext.cs
- WorkflowInstance.cs
- StreamReader.cs
- VisualBasicValue.cs
- OdbcCommand.cs
- DataSvcMapFileSerializer.cs
- SQLInt64Storage.cs
- HttpModuleCollection.cs
- SamlSecurityTokenAuthenticator.cs
- SystemIPInterfaceStatistics.cs
- TCEAdapterGenerator.cs
- TiffBitmapEncoder.cs
- Column.cs
- Label.cs
- GridViewDeleteEventArgs.cs
- TrackingAnnotationCollection.cs
- HealthMonitoringSectionHelper.cs
- ServiceConfigurationTraceRecord.cs
- XamlReader.cs
- ViewBox.cs
- DataSourceCache.cs
- SecurityContext.cs
- HostedTcpTransportManager.cs
- __Filters.cs
- Publisher.cs
- TextTreeUndoUnit.cs
- Triplet.cs
- KerberosRequestorSecurityToken.cs
- UdpContractFilterBehavior.cs
- ProfileInfo.cs
- FocusManager.cs
- SplitterDesigner.cs
- ContextMenuStrip.cs
- XmlDataContract.cs
- QueryTask.cs
- GenericRootAutomationPeer.cs
- SimpleWorkerRequest.cs
- DataSourceProvider.cs
- WebPartTransformer.cs
- InternalConfigRoot.cs
- InputProviderSite.cs
- IPGlobalProperties.cs
- ISessionStateStore.cs
- SerialReceived.cs
- ExecutionEngineException.cs
- SingleAnimationBase.cs
- Deflater.cs
- InternalSafeNativeMethods.cs
- DataPagerFieldItem.cs
- ScrollBar.cs
- PackageFilter.cs