Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ReaderContextStackData.cs
- SrgsRule.cs
- RolePrincipal.cs
- SQLByteStorage.cs
- ImageDrawing.cs
- MatrixUtil.cs
- OptimizerPatterns.cs
- Bits.cs
- DeflateStream.cs
- EnumDataContract.cs
- ByteAnimationUsingKeyFrames.cs
- NominalTypeEliminator.cs
- OracleBinary.cs
- UrlMappingsModule.cs
- BufferedMessageData.cs
- Accessors.cs
- PreviewKeyDownEventArgs.cs
- XmlAggregates.cs
- MediaContext.cs
- DocumentViewerBase.cs
- OleDbConnectionInternal.cs
- NativeMsmqMessage.cs
- IApplicationTrustManager.cs
- StoreItemCollection.cs
- TextBox.cs
- UIServiceHelper.cs
- ConstructorNeedsTagAttribute.cs
- SiteOfOriginPart.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- Range.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- Metadata.cs
- BinaryFormatterSinks.cs
- XmlMemberMapping.cs
- TypeBuilder.cs
- KeyedByTypeCollection.cs
- SqlVisitor.cs
- XPathDocumentIterator.cs
- DurableInstanceProvider.cs
- MarkupObject.cs
- XmlCompatibilityReader.cs
- Subset.cs
- DataSourceControlBuilder.cs
- NativeWindow.cs
- EventLog.cs
- SuspendDesigner.cs
- MemoryPressure.cs
- BitStack.cs
- BindingMAnagerBase.cs
- IssuanceTokenProviderBase.cs
- WriteableBitmap.cs
- ColorBlend.cs
- ObjectDataSource.cs
- SqlDependency.cs
- LineGeometry.cs
- Material.cs
- EmptyEnumerator.cs
- ObjectList.cs
- NetStream.cs
- securestring.cs
- DebugView.cs
- Enumerable.cs
- CryptoApi.cs
- ProbeMatchesApril2005.cs
- InstancePersistenceCommand.cs
- EntityDesignerDataSourceView.cs
- ComplusTypeValidator.cs
- coordinatorscratchpad.cs
- SqlFileStream.cs
- NullRuntimeConfig.cs
- TypeEnumerableViewSchema.cs
- TreeNodeBindingCollection.cs
- SplashScreen.cs
- MemberAssignmentAnalysis.cs
- XmlSerializerFaultFormatter.cs
- WebPartHeaderCloseVerb.cs
- TextDecoration.cs
- CLSCompliantAttribute.cs
- odbcmetadatacolumnnames.cs
- SourceSwitch.cs
- ListDictionary.cs
- ConvertersCollection.cs
- NavigationWindow.cs
- CollectionViewGroupInternal.cs
- StreamAsIStream.cs
- ClientSponsor.cs
- AddingNewEventArgs.cs
- PixelFormat.cs
- UnsafeNativeMethods.cs
- HttpCookiesSection.cs
- Oci.cs
- HotSpot.cs
- DataGridViewTextBoxColumn.cs
- PerformanceCounterPermission.cs
- ApplicationServiceHelper.cs
- EdmItemError.cs
- WorkflowServiceHost.cs
- ValidationPropertyAttribute.cs
- TdsParserStaticMethods.cs
- TextEditorThreadLocalStore.cs