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
- SqlGenericUtil.cs
- PagerSettings.cs
- NamespaceEmitter.cs
- ControlEvent.cs
- Assembly.cs
- Decimal.cs
- ToolStripItemRenderEventArgs.cs
- ACE.cs
- Size3D.cs
- PluralizationService.cs
- KeyNotFoundException.cs
- CookielessHelper.cs
- sqlser.cs
- DESCryptoServiceProvider.cs
- DataBindingExpressionBuilder.cs
- GridItemProviderWrapper.cs
- Soap12ProtocolReflector.cs
- CommentAction.cs
- GenericIdentity.cs
- RNGCryptoServiceProvider.cs
- DataBindingExpressionBuilder.cs
- DefaultIfEmptyQueryOperator.cs
- SHA384Managed.cs
- securitycriticaldataformultiplegetandset.cs
- Vector3DAnimationUsingKeyFrames.cs
- SqlInternalConnectionTds.cs
- LeafCellTreeNode.cs
- RegexCapture.cs
- RichTextBoxAutomationPeer.cs
- LineBreak.cs
- OutputChannelBinder.cs
- SqlDataSourceRefreshSchemaForm.cs
- Vector.cs
- Selection.cs
- _ScatterGatherBuffers.cs
- ComplexPropertyEntry.cs
- SqlXml.cs
- clipboard.cs
- FormsAuthenticationUser.cs
- UIElement3D.cs
- CodeDelegateInvokeExpression.cs
- versioninfo.cs
- IncrementalReadDecoders.cs
- ConfigurationPropertyCollection.cs
- ToolStripPanelSelectionBehavior.cs
- MetaType.cs
- XPathDocumentNavigator.cs
- GenericParameterDataContract.cs
- LexicalChunk.cs
- GuidTagList.cs
- ConsoleCancelEventArgs.cs
- ProgressBar.cs
- FlatButtonAppearance.cs
- PeerToPeerException.cs
- X509DefaultServiceCertificateElement.cs
- StackOverflowException.cs
- CodeNamespaceImport.cs
- TextServicesCompartmentContext.cs
- PipelineComponent.cs
- ReaderContextStackData.cs
- ClientSettingsSection.cs
- InternalResources.cs
- OperationGenerator.cs
- ProtocolsConfiguration.cs
- ConfigurationFileMap.cs
- TransferRequestHandler.cs
- KeyInstance.cs
- PageBuildProvider.cs
- LinqDataSourceHelper.cs
- DbException.cs
- MemberAccessException.cs
- CaseInsensitiveOrdinalStringComparer.cs
- ResponseStream.cs
- BaseComponentEditor.cs
- CriticalHandle.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- GradientBrush.cs
- ReflectionTypeLoadException.cs
- ObjectViewQueryResultData.cs
- OperationResponse.cs
- datacache.cs
- UITypeEditors.cs
- DebugInfoExpression.cs
- X509RecipientCertificateClientElement.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- CustomCredentialPolicy.cs
- MD5CryptoServiceProvider.cs
- Base64Encoding.cs
- DateTimeFormatInfoScanner.cs
- SendKeys.cs
- MouseActionValueSerializer.cs
- DiscardableAttribute.cs
- ReflectEventDescriptor.cs
- SortedList.cs
- SafeFileMapViewHandle.cs
- ToolboxItem.cs
- XmlSchemaImport.cs
- EventlogProvider.cs
- recordstate.cs
- ViewSimplifier.cs