Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PKCS1MaskGenerationMethod.cs
- NumericUpDownAccelerationCollection.cs
- IFormattable.cs
- RuleProcessor.cs
- SqlWorkflowInstanceStore.cs
- Accessible.cs
- BackStopAuthenticationModule.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- SQLMoney.cs
- UTF7Encoding.cs
- DataGrid.cs
- AutoScrollHelper.cs
- FormViewPageEventArgs.cs
- PanelStyle.cs
- System.Data_BID.cs
- DataKeyCollection.cs
- PenCursorManager.cs
- ColumnHeader.cs
- CompositeCollection.cs
- UserControl.cs
- Choices.cs
- sqlinternaltransaction.cs
- SendParametersContent.cs
- EventLogPermission.cs
- PowerModeChangedEventArgs.cs
- SamlSecurityTokenAuthenticator.cs
- EventTrigger.cs
- XamlStyleSerializer.cs
- Span.cs
- DeferredSelectedIndexReference.cs
- GridErrorDlg.cs
- ResumeStoryboard.cs
- BitmapMetadataEnumerator.cs
- MatrixKeyFrameCollection.cs
- Parser.cs
- XmlHelper.cs
- InstanceLockTracking.cs
- ToolStripInSituService.cs
- Expression.cs
- FileInfo.cs
- SoapServerMethod.cs
- TextElementEnumerator.cs
- ArrayMergeHelper.cs
- PropertyValue.cs
- TableLayoutPanelCodeDomSerializer.cs
- DurableInstancingOptions.cs
- FragmentNavigationEventArgs.cs
- ProgressBarHighlightConverter.cs
- Parser.cs
- MarkedHighlightComponent.cs
- InfoCardProofToken.cs
- OleDbCommand.cs
- NodeLabelEditEvent.cs
- EditableLabelControl.cs
- PropertyChangeTracker.cs
- Color.cs
- EmptyReadOnlyDictionaryInternal.cs
- PageWrapper.cs
- SymLanguageVendor.cs
- XmlLanguage.cs
- ComboBoxItem.cs
- SafeFileMappingHandle.cs
- CodeIndexerExpression.cs
- ResourcesBuildProvider.cs
- ConsoleCancelEventArgs.cs
- HMACSHA384.cs
- UserControlBuildProvider.cs
- Size3DConverter.cs
- CodeValidator.cs
- DesignerTransaction.cs
- HtmlElementCollection.cs
- ViewCellSlot.cs
- SqlDependencyListener.cs
- WebRequestModuleElement.cs
- VisualTreeUtils.cs
- InheritedPropertyChangedEventArgs.cs
- SchemaLookupTable.cs
- GifBitmapEncoder.cs
- WindowHideOrCloseTracker.cs
- DataGridRowDetailsEventArgs.cs
- GifBitmapDecoder.cs
- RuleSettings.cs
- Size.cs
- PrimitiveSchema.cs
- CqlWriter.cs
- MdiWindowListStrip.cs
- InlinedAggregationOperator.cs
- ListItemConverter.cs
- RoutedEventConverter.cs
- ClientEndpointLoader.cs
- _AuthenticationState.cs
- Formatter.cs
- TreeBuilderBamlTranslator.cs
- StateBag.cs
- Encoding.cs
- CodeGenerationManager.cs
- XmlNavigatorStack.cs
- EnvelopedSignatureTransform.cs
- TraceLevelStore.cs
- StreamingContext.cs