Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / HostingPreferredMapPath.cs / 2 / 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. //------------------------------------------------------------------------------ //// 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MergePropertyDescriptor.cs
- DPCustomTypeDescriptor.cs
- dataprotectionpermission.cs
- LoginView.cs
- ThumbAutomationPeer.cs
- EntityTypeEmitter.cs
- Processor.cs
- WebExceptionStatus.cs
- ADConnectionHelper.cs
- DbParameterCollection.cs
- GcHandle.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- DocumentCollection.cs
- Queue.cs
- SmtpReplyReader.cs
- nulltextnavigator.cs
- WizardSideBarListControlItem.cs
- QueuePathEditor.cs
- CertificateManager.cs
- Attributes.cs
- TypefaceMap.cs
- XomlCompilerError.cs
- DiscriminatorMap.cs
- ConfigXmlAttribute.cs
- WebPartMinimizeVerb.cs
- OleDbStruct.cs
- ObjectIDGenerator.cs
- CalendarAutoFormat.cs
- ImageBrush.cs
- UnsafeNativeMethods.cs
- StyleSheetComponentEditor.cs
- XmlAttributeProperties.cs
- DoubleLinkListEnumerator.cs
- ScrollContentPresenter.cs
- FixedPosition.cs
- StyleBamlTreeBuilder.cs
- DecimalAnimationBase.cs
- StringResourceManager.cs
- SplitContainer.cs
- TreeBuilderXamlTranslator.cs
- XmlSchemaParticle.cs
- ExpressionBuilder.cs
- DataGridItemCollection.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- GridViewDeletedEventArgs.cs
- LineServices.cs
- CompositeTypefaceMetrics.cs
- X509ChainElement.cs
- MenuItemBinding.cs
- EventLog.cs
- ProcessModelInfo.cs
- DynamicPropertyReader.cs
- BooleanAnimationUsingKeyFrames.cs
- RuntimeCompatibilityAttribute.cs
- SystemResourceHost.cs
- FrameDimension.cs
- ListBoxItemAutomationPeer.cs
- IdentityManager.cs
- Maps.cs
- CodeCompileUnit.cs
- PersonalizablePropertyEntry.cs
- EventSetter.cs
- RequestCachePolicyConverter.cs
- WorkflowItemPresenter.cs
- EventLogTraceListener.cs
- RelationshipConstraintValidator.cs
- DataGridViewTopLeftHeaderCell.cs
- ApplicationSecurityInfo.cs
- EndpointInfo.cs
- Automation.cs
- MetadataSet.cs
- AppSettings.cs
- Thickness.cs
- TextParaClient.cs
- HotSpotCollectionEditor.cs
- VirtualPath.cs
- SignatureDescription.cs
- OdbcConnectionFactory.cs
- ConfigurationPermission.cs
- WebEvents.cs
- SpecialFolderEnumConverter.cs
- ConfigurationManagerHelper.cs
- assertwrapper.cs
- FileStream.cs
- DataGridItemCollection.cs
- ConnectionsZone.cs
- Bezier.cs
- BinaryObjectReader.cs
- __Filters.cs
- SchemaCollectionCompiler.cs
- LayoutUtils.cs
- InvalidPipelineStoreException.cs
- ToolStripSystemRenderer.cs
- NamedPipeProcessProtocolHandler.cs
- FrugalMap.cs
- MediaPlayerState.cs
- TriggerAction.cs
- DataGridViewCellEventArgs.cs
- OleDbEnumerator.cs
- HttpHeaderCollection.cs