Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / HostingPreferredMapPath.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BuildManagerHost.cs
- WebCategoryAttribute.cs
- VisualStyleInformation.cs
- ExpressionTable.cs
- WsatConfiguration.cs
- Parser.cs
- RequestStatusBarUpdateEventArgs.cs
- DictionaryBase.cs
- DrawingCollection.cs
- WorkflowMessageEventArgs.cs
- WebPartConnectionsDisconnectVerb.cs
- SchemaMapping.cs
- XmlSchemaAttribute.cs
- recordstatescratchpad.cs
- ZoneButton.cs
- NullableFloatSumAggregationOperator.cs
- XmlIlVisitor.cs
- CorrelationManager.cs
- SQLBinaryStorage.cs
- TextRangeEditTables.cs
- DateTimeFormatInfo.cs
- Bind.cs
- SecurityRequiresReviewAttribute.cs
- TokenBasedSetEnumerator.cs
- LocalFileSettingsProvider.cs
- InvalidOleVariantTypeException.cs
- safex509handles.cs
- PagesChangedEventArgs.cs
- FrameworkObject.cs
- EventLogEntryCollection.cs
- GridItemCollection.cs
- HandlerBase.cs
- WindowsSolidBrush.cs
- FactoryGenerator.cs
- FloatUtil.cs
- WmlLiteralTextAdapter.cs
- EmptyElement.cs
- CompatibleIComparer.cs
- BoolExpressionVisitors.cs
- ISSmlParser.cs
- SmiConnection.cs
- BaseCAMarshaler.cs
- ListenerConstants.cs
- HtmlFormWrapper.cs
- DynamicRendererThreadManager.cs
- StorageEndPropertyMapping.cs
- ComPlusServiceHost.cs
- XmlWhitespace.cs
- filewebrequest.cs
- Socket.cs
- StylusDownEventArgs.cs
- AttachedProperty.cs
- IntellisenseTextBox.designer.cs
- XmlElementCollection.cs
- ScriptControlManager.cs
- SortKey.cs
- WindowsFormsSynchronizationContext.cs
- WebPartConnection.cs
- Internal.cs
- InvalidWMPVersionException.cs
- BindingValueChangedEventArgs.cs
- InputReportEventArgs.cs
- WorkItem.cs
- HttpCookieCollection.cs
- DPTypeDescriptorContext.cs
- XmlTextWriter.cs
- SQLMembershipProvider.cs
- StatusBar.cs
- AttributeCollection.cs
- RegisteredHiddenField.cs
- ImageInfo.cs
- SelectionProviderWrapper.cs
- GridItem.cs
- ContainsSearchOperator.cs
- InvalidProgramException.cs
- XmlSchemaSimpleTypeList.cs
- PerformanceCounterNameAttribute.cs
- ReferenceEqualityComparer.cs
- FlowDocumentPaginator.cs
- MsmqIntegrationInputChannel.cs
- PropertyGroupDescription.cs
- unitconverter.cs
- UnknownWrapper.cs
- ResourceWriter.cs
- CustomErrorsSection.cs
- BitmapSource.cs
- Timer.cs
- DesignerDataSchemaClass.cs
- CredentialManagerDialog.cs
- OptimalTextSource.cs
- DocumentXmlWriter.cs
- ConfigurationStrings.cs
- StaticExtensionConverter.cs
- CheckPair.cs
- SQLString.cs
- RenderCapability.cs
- FlowDocumentReader.cs
- TrustLevelCollection.cs
- UnsignedPublishLicense.cs
- WindowInteropHelper.cs