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
- BamlCollectionHolder.cs
- contentDescriptor.cs
- WebServiceEndpoint.cs
- CustomAttributeSerializer.cs
- SqlUDTStorage.cs
- AssociationSetEnd.cs
- Module.cs
- CrossContextChannel.cs
- DeclarationUpdate.cs
- UnsignedPublishLicense.cs
- TabControlAutomationPeer.cs
- StorageEntityContainerMapping.cs
- ObjectReferenceStack.cs
- XPathMultyIterator.cs
- DataAccessor.cs
- HtmlImageAdapter.cs
- GiveFeedbackEvent.cs
- SoapIncludeAttribute.cs
- LinkLabelLinkClickedEvent.cs
- BuildProviderCollection.cs
- _SpnDictionary.cs
- MetadataArtifactLoaderCompositeFile.cs
- HealthMonitoringSectionHelper.cs
- LoaderAllocator.cs
- DbMetaDataFactory.cs
- DynamicDocumentPaginator.cs
- PageCodeDomTreeGenerator.cs
- ParseChildrenAsPropertiesAttribute.cs
- cache.cs
- ProfileSettings.cs
- Tracking.cs
- HelloOperationAsyncResult.cs
- Visual3DCollection.cs
- CatalogZoneDesigner.cs
- DrawingVisual.cs
- DataGridViewImageCell.cs
- WindowsTitleBar.cs
- Version.cs
- BindingListCollectionView.cs
- _DomainName.cs
- ImportDesigner.xaml.cs
- WindowsGraphicsCacheManager.cs
- AspCompat.cs
- AsyncInvokeContext.cs
- WasAdminWrapper.cs
- BCLDebug.cs
- XmlnsCompatibleWithAttribute.cs
- DataKey.cs
- IdentifierCollection.cs
- PathNode.cs
- CodeValidator.cs
- Transactions.cs
- WindowsPrincipal.cs
- PersonalizationProviderCollection.cs
- XmlDataFileEditor.cs
- DelegateSerializationHolder.cs
- ExtendedTransformFactory.cs
- ProtocolViolationException.cs
- MappableObjectManager.cs
- PersistenceException.cs
- ProgressPage.cs
- DeferrableContentConverter.cs
- ListChangedEventArgs.cs
- ProviderConnectionPointCollection.cs
- XmlSiteMapProvider.cs
- ConfigurationSectionGroup.cs
- FileUpload.cs
- XmlSiteMapProvider.cs
- DockPattern.cs
- MouseActionValueSerializer.cs
- Certificate.cs
- NegotiationTokenAuthenticatorStateCache.cs
- DesignerAutoFormatStyle.cs
- SevenBitStream.cs
- DefaultEventAttribute.cs
- ItemAutomationPeer.cs
- TransformPattern.cs
- Assembly.cs
- HttpsChannelFactory.cs
- WeakReference.cs
- hresults.cs
- DesignTimeParseData.cs
- LocatorGroup.cs
- ExpressionBindings.cs
- EdmComplexTypeAttribute.cs
- TextSpan.cs
- COM2FontConverter.cs
- PathSegment.cs
- TableChangeProcessor.cs
- ParameterToken.cs
- FixedBufferAttribute.cs
- PageMediaType.cs
- SelectionChangedEventArgs.cs
- DbMetaDataFactory.cs
- SqlParameterCollection.cs
- MissingMethodException.cs
- GridViewPageEventArgs.cs
- AspNetHostingPermission.cs
- DynamicValueConverter.cs
- FileFormatException.cs