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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StylesEditorDialog.cs
- HttpHeaderCollection.cs
- XmlWellformedWriter.cs
- HijriCalendar.cs
- CommonObjectSecurity.cs
- MachineSettingsSection.cs
- WebPartRestoreVerb.cs
- OracleBinary.cs
- TypeBuilder.cs
- ReadOnlyAttribute.cs
- InkCanvasInnerCanvas.cs
- DataGridViewAdvancedBorderStyle.cs
- BoundField.cs
- SymmetricKeyWrap.cs
- RectangleConverter.cs
- CompositeControl.cs
- manifestimages.cs
- ToolBarButtonClickEvent.cs
- LineSegment.cs
- CallbackHandler.cs
- ReadOnlyCollectionBase.cs
- ProtectedConfigurationSection.cs
- Encoder.cs
- Cursors.cs
- TextDecorationLocationValidation.cs
- DataGridViewSelectedCellCollection.cs
- ImageCodecInfoPrivate.cs
- DataBindingCollection.cs
- Accessible.cs
- _NTAuthentication.cs
- WinFormsComponentEditor.cs
- DiscoveryMessageProperty.cs
- WebPartPersonalization.cs
- HtmlInputCheckBox.cs
- SqlUdtInfo.cs
- ForAllOperator.cs
- InvalidComObjectException.cs
- GiveFeedbackEventArgs.cs
- ToolboxDataAttribute.cs
- BitVector32.cs
- TypeUnloadedException.cs
- _OverlappedAsyncResult.cs
- ComplexLine.cs
- WpfKnownMember.cs
- ApplicationSecurityInfo.cs
- RuntimeEnvironment.cs
- LoadRetryStrategyFactory.cs
- WebResourceAttribute.cs
- ImageAnimator.cs
- recordstatescratchpad.cs
- TextEditorTables.cs
- UmAlQuraCalendar.cs
- ValidationEventArgs.cs
- LoginView.cs
- CodeDelegateInvokeExpression.cs
- Utils.cs
- ProjectedSlot.cs
- mediaeventargs.cs
- AppModelKnownContentFactory.cs
- DataGridViewCellValueEventArgs.cs
- PieceDirectory.cs
- InheritanceContextHelper.cs
- WrappedDispatcherException.cs
- GeneralTransform3DTo2DTo3D.cs
- PersonalizationAdministration.cs
- OutputCacheProfile.cs
- MissingFieldException.cs
- DelayedRegex.cs
- HandleTable.cs
- TransformPattern.cs
- XmlSchemaCollection.cs
- DriveNotFoundException.cs
- GACIdentityPermission.cs
- OdbcCommandBuilder.cs
- RefreshEventArgs.cs
- Control.cs
- AspNetHostingPermission.cs
- StreamProxy.cs
- PartialCachingControl.cs
- CultureSpecificStringDictionary.cs
- ClientConvert.cs
- PaperSize.cs
- CommonObjectSecurity.cs
- ValidationEventArgs.cs
- DocumentViewerConstants.cs
- DataChangedEventManager.cs
- Avt.cs
- RadioButton.cs
- Expression.DebuggerProxy.cs
- DataGridAutoFormatDialog.cs
- EntityParameterCollection.cs
- Context.cs
- GridItemProviderWrapper.cs
- ErasingStroke.cs
- DataGridViewComboBoxColumn.cs
- Policy.cs
- MemoryRecordBuffer.cs
- MetadataElement.cs
- RichTextBox.cs
- SubpageParagraph.cs