Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / HostingPreferredMapPath.cs / 4 / 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
- SqlBuffer.cs
- GridProviderWrapper.cs
- MessageQueueAccessControlEntry.cs
- SparseMemoryStream.cs
- RemoteHelper.cs
- ValidatingReaderNodeData.cs
- InputScope.cs
- ClockGroup.cs
- EmptyQuery.cs
- DaylightTime.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- ButtonRenderer.cs
- safex509handles.cs
- WindowsButton.cs
- ProxyManager.cs
- FacetValueContainer.cs
- DataServiceHostFactory.cs
- Logging.cs
- SendMessageChannelCache.cs
- PageAdapter.cs
- RichTextBox.cs
- Section.cs
- CodeAttributeDeclaration.cs
- Geometry.cs
- SqlUserDefinedAggregateAttribute.cs
- Propagator.ExtentPlaceholderCreator.cs
- TextTreeUndo.cs
- GatewayDefinition.cs
- PathData.cs
- Splitter.cs
- PersistNameAttribute.cs
- ServiceOperation.cs
- PingOptions.cs
- TextBoxBase.cs
- HttpStreamXmlDictionaryWriter.cs
- NameNode.cs
- TypefaceMetricsCache.cs
- ContractMapping.cs
- HtmlWindowCollection.cs
- Cursor.cs
- TrackingMemoryStreamFactory.cs
- Bold.cs
- AutomationPeer.cs
- MarshalByValueComponent.cs
- TemplatedWizardStep.cs
- TextRenderer.cs
- HTMLTextWriter.cs
- DataGridViewRowHeaderCell.cs
- BeginSelectCardRequest.cs
- CmsInterop.cs
- SettingsPropertyWrongTypeException.cs
- StrokeNodeEnumerator.cs
- OptimizerPatterns.cs
- GridViewPageEventArgs.cs
- OperationParameterInfoCollection.cs
- XamlClipboardData.cs
- ReflectPropertyDescriptor.cs
- RSAPKCS1SignatureFormatter.cs
- fixedPageContentExtractor.cs
- GlobalEventManager.cs
- ScrollChrome.cs
- Attributes.cs
- SqlConnectionPoolGroupProviderInfo.cs
- DesignerOptionService.cs
- EncoderReplacementFallback.cs
- iisPickupDirectory.cs
- FunctionImportMapping.cs
- LateBoundBitmapDecoder.cs
- SelectionItemPatternIdentifiers.cs
- ContextProperty.cs
- ApplicationGesture.cs
- LookupBindingPropertiesAttribute.cs
- GridViewRow.cs
- PassportIdentity.cs
- ArraySubsetEnumerator.cs
- ToolStripGrip.cs
- RouteParametersHelper.cs
- DataGridRow.cs
- TextEndOfLine.cs
- AccessViolationException.cs
- ConfigurationStrings.cs
- WindowsListBox.cs
- IteratorDescriptor.cs
- HttpContextServiceHost.cs
- _OSSOCK.cs
- RealProxy.cs
- Identifier.cs
- SqlDelegatedTransaction.cs
- FontStyles.cs
- AggregateNode.cs
- XmlLoader.cs
- EventDescriptor.cs
- GlobalEventManager.cs
- odbcmetadatacolumnnames.cs
- TextDecoration.cs
- ConfigXmlComment.cs
- DesignBindingEditor.cs
- documentation.cs
- RayMeshGeometry3DHitTestResult.cs
- ChannelManager.cs