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
- UdpContractFilterBehavior.cs
- TextTreeExtractElementUndoUnit.cs
- SmtpTransport.cs
- IntegerValidator.cs
- Evaluator.cs
- TypeSystem.cs
- MetadataPropertyCollection.cs
- HtmlShimManager.cs
- ConfigurationLocation.cs
- DataColumn.cs
- DataServiceEntityAttribute.cs
- EntityParameter.cs
- RuntimeArgumentHandle.cs
- BindingManagerDataErrorEventArgs.cs
- CustomErrorCollection.cs
- OdbcDataReader.cs
- SerializerProvider.cs
- InputScope.cs
- ConfigurationValue.cs
- EventManager.cs
- SqlClientWrapperSmiStreamChars.cs
- FontCacheLogic.cs
- DataGridViewDataErrorEventArgs.cs
- XmlDataContract.cs
- DataBoundControl.cs
- DecodeHelper.cs
- ParallelQuery.cs
- EventLogPermissionEntryCollection.cs
- ItemCollection.cs
- XmlDsigSep2000.cs
- ReadOnlyAttribute.cs
- CompareValidator.cs
- EntityObject.cs
- TextFormattingConverter.cs
- ExpressionBuilder.cs
- ModelItemDictionary.cs
- DynamicField.cs
- OperatingSystemVersionCheck.cs
- DescendantBaseQuery.cs
- ActivityExecutor.cs
- WebPartVerb.cs
- DocumentsTrace.cs
- SurrogateEncoder.cs
- Pool.cs
- HostProtectionPermission.cs
- DataExpression.cs
- Literal.cs
- LicenseContext.cs
- TreeViewItemAutomationPeer.cs
- SqlCacheDependencyDatabaseCollection.cs
- TableRow.cs
- WSHttpSecurity.cs
- PointValueSerializer.cs
- LoginName.cs
- TransactionFlowOption.cs
- Panel.cs
- CodeCastExpression.cs
- PartialList.cs
- RequestCache.cs
- GroupBoxAutomationPeer.cs
- WindowCollection.cs
- ToolStripRenderEventArgs.cs
- storepermissionattribute.cs
- CodeExpressionRuleDeclaration.cs
- CreateCardRequest.cs
- WmlTextViewAdapter.cs
- SHA512Managed.cs
- PropertyStore.cs
- HTMLTagNameToTypeMapper.cs
- BrowserCapabilitiesFactoryBase.cs
- StatusBarPanelClickEvent.cs
- InternalMappingException.cs
- VScrollBar.cs
- QuaternionAnimationUsingKeyFrames.cs
- ArrayWithOffset.cs
- ObjectDataSourceChooseMethodsPanel.cs
- MetafileHeaderEmf.cs
- SQLDoubleStorage.cs
- ServiceOperation.cs
- SecurityElement.cs
- EntityProviderServices.cs
- TextEffectResolver.cs
- RuleConditionDialog.cs
- TextTreeTextBlock.cs
- RawUIStateInputReport.cs
- ScrollContentPresenter.cs
- TableDetailsCollection.cs
- ResourceProperty.cs
- InfocardExtendedInformationCollection.cs
- PermissionSetTriple.cs
- HandlerBase.cs
- ILGenerator.cs
- SqlDataSourceSelectingEventArgs.cs
- XmlnsPrefixAttribute.cs
- KnownTypes.cs
- TdsValueSetter.cs
- MessageFormatterConverter.cs
- RawTextInputReport.cs
- AttributeCallbackBuilder.cs
- EventManager.cs