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
- WebPartConnection.cs
- RsaSecurityKey.cs
- FileUtil.cs
- NotifyIcon.cs
- Properties.cs
- TransformGroup.cs
- TokenBasedSetEnumerator.cs
- ThreadPool.cs
- CqlLexer.cs
- ComponentResourceKey.cs
- WizardStepBase.cs
- TableHeaderCell.cs
- CursorInteropHelper.cs
- RoleGroupCollection.cs
- XmlNodeComparer.cs
- ResourceDescriptionAttribute.cs
- Authorization.cs
- RepeaterItem.cs
- HttpVersion.cs
- BaseCodePageEncoding.cs
- EntityDataSourceChangedEventArgs.cs
- Fonts.cs
- SessionSwitchEventArgs.cs
- SocketStream.cs
- PiiTraceSource.cs
- RadialGradientBrush.cs
- Win32SafeHandles.cs
- AnnotationResource.cs
- TypeBuilder.cs
- OverflowException.cs
- HelloMessage11.cs
- ParseChildrenAsPropertiesAttribute.cs
- HelpPage.cs
- RightsManagementEncryptionTransform.cs
- AsymmetricAlgorithm.cs
- GetIndexBinder.cs
- securestring.cs
- SerializerWriterEventHandlers.cs
- HitTestWithGeometryDrawingContextWalker.cs
- BoundColumn.cs
- ProtectedConfigurationProviderCollection.cs
- TextSimpleMarkerProperties.cs
- EnvironmentPermission.cs
- EntityDataSourceContextCreatedEventArgs.cs
- ClosableStream.cs
- HttpWebRequest.cs
- RightNameExpirationInfoPair.cs
- JsonXmlDataContract.cs
- OracleConnectionFactory.cs
- arc.cs
- DefinitionBase.cs
- HtmlInputCheckBox.cs
- DataGridItemEventArgs.cs
- XmlSchemaObjectTable.cs
- XComponentModel.cs
- RegexCapture.cs
- DisposableCollectionWrapper.cs
- ObjectContextServiceProvider.cs
- DefaultPropertyAttribute.cs
- SimpleWebHandlerParser.cs
- ComboBoxRenderer.cs
- StateWorkerRequest.cs
- CodeExpressionStatement.cs
- FileCodeGroup.cs
- ErrorStyle.cs
- TabletDevice.cs
- ValueQuery.cs
- ToolStripContentPanel.cs
- util.cs
- DebugHandleTracker.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- Transform3DGroup.cs
- ComplexTypeEmitter.cs
- DataFormats.cs
- Qualifier.cs
- EnterpriseServicesHelper.cs
- CharUnicodeInfo.cs
- XpsFilter.cs
- ExtensionFile.cs
- TypeUtils.cs
- DependentList.cs
- Convert.cs
- DbConnectionPoolGroup.cs
- LeafCellTreeNode.cs
- InplaceBitmapMetadataWriter.cs
- RawStylusInputCustomDataList.cs
- WebPartChrome.cs
- GorillaCodec.cs
- ExceptionUtility.cs
- RightNameExpirationInfoPair.cs
- XmlTextWriter.cs
- ApplicationContext.cs
- DataServiceEntityAttribute.cs
- FlowNode.cs
- DependencyPropertyConverter.cs
- DesignerValidationSummaryAdapter.cs
- XmlQueryContext.cs
- MinimizableAttributeTypeConverter.cs
- WebBrowserNavigatedEventHandler.cs
- DelegatingConfigHost.cs