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
- SQLDecimalStorage.cs
- ItemCheckedEvent.cs
- ManagementDateTime.cs
- DataGridAutoFormat.cs
- InputMethodStateTypeInfo.cs
- NativeMethods.cs
- GuidelineCollection.cs
- ReturnType.cs
- InternalConfigEventArgs.cs
- Scene3D.cs
- TrackingServices.cs
- AppearanceEditorPart.cs
- Line.cs
- TextTreeTextBlock.cs
- MetadataItemEmitter.cs
- DataStorage.cs
- DataView.cs
- BaseAutoFormat.cs
- LayoutTable.cs
- TextPointerBase.cs
- DataServiceResponse.cs
- IResourceProvider.cs
- SqlVersion.cs
- RtfFormatStack.cs
- SkinBuilder.cs
- MessageSecurityOverMsmqElement.cs
- SafeRightsManagementEnvironmentHandle.cs
- PackageRelationship.cs
- DataGridViewRowPostPaintEventArgs.cs
- DesignerVerb.cs
- SimpleBitVector32.cs
- ListBindableAttribute.cs
- DocumentViewerBase.cs
- DataGridRelationshipRow.cs
- TextEncodedRawTextWriter.cs
- TextRangeEdit.cs
- StateDesigner.TransitionInfo.cs
- WebPartEditorCancelVerb.cs
- SrgsGrammar.cs
- DrawingContextDrawingContextWalker.cs
- PointLightBase.cs
- HighlightVisual.cs
- IsolatedStorageFilePermission.cs
- ObjectItemConventionAssemblyLoader.cs
- DictionaryEntry.cs
- MappingItemCollection.cs
- XamlVector3DCollectionSerializer.cs
- MenuItemAutomationPeer.cs
- TiffBitmapEncoder.cs
- MetadataUtilsSmi.cs
- WebPartsSection.cs
- FormatVersion.cs
- CodeVariableReferenceExpression.cs
- XmlDocumentFragment.cs
- ThreadSafeMessageFilterTable.cs
- ArraySet.cs
- TextBox.cs
- StructuredTypeEmitter.cs
- EntitySetRetriever.cs
- BulletedList.cs
- SqlResolver.cs
- HWStack.cs
- GeometryHitTestResult.cs
- SamlAttributeStatement.cs
- webbrowsersite.cs
- Selector.cs
- BuildManagerHost.cs
- UInt32Converter.cs
- IndexingContentUnit.cs
- ValidationPropertyAttribute.cs
- Point3DCollection.cs
- PropertyDescriptorCollection.cs
- X509CertificateInitiatorServiceCredential.cs
- Package.cs
- ScriptComponentDescriptor.cs
- SecurityDescriptor.cs
- PartialList.cs
- TextParagraphProperties.cs
- DataBindingList.cs
- UpdateCommand.cs
- ObjectDataSourceEventArgs.cs
- VisualStyleTypesAndProperties.cs
- BuildProvider.cs
- SectionInformation.cs
- ProviderConnectionPointCollection.cs
- PublishLicense.cs
- Journal.cs
- CodeAccessSecurityEngine.cs
- MetadataItemCollectionFactory.cs
- DataGridViewUtilities.cs
- DataGridColumnEventArgs.cs
- AttachmentCollection.cs
- TextEditorSelection.cs
- ButtonPopupAdapter.cs
- SqlAliasesReferenced.cs
- DataRelation.cs
- DataSysAttribute.cs
- ComEventsHelper.cs
- OleCmdHelper.cs
- Substitution.cs