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
- StandardCommands.cs
- ShapingWorkspace.cs
- SecurityIdentifierElement.cs
- BulletedListEventArgs.cs
- BamlTreeUpdater.cs
- BehaviorEditorPart.cs
- PolicyStatement.cs
- DataGridPageChangedEventArgs.cs
- ExtensionSimplifierMarkupObject.cs
- CustomAttribute.cs
- DynamicQueryableWrapper.cs
- TextRange.cs
- KerberosReceiverSecurityToken.cs
- AuthorizationSection.cs
- SmiContext.cs
- CustomMenuItemCollection.cs
- ValueChangedEventManager.cs
- JavaScriptSerializer.cs
- DbModificationClause.cs
- externdll.cs
- TextCompositionManager.cs
- XmlILAnnotation.cs
- XamlStyleSerializer.cs
- SafeRightsManagementHandle.cs
- DbConnectionClosed.cs
- RowVisual.cs
- DocumentManager.cs
- LineServicesCallbacks.cs
- DefaultWorkflowTransactionService.cs
- LocalFileSettingsProvider.cs
- DataGridViewUtilities.cs
- BooleanSwitch.cs
- FaultCallbackWrapper.cs
- TransportationConfigurationTypeInstallComponent.cs
- ClosableStream.cs
- PathSegmentCollection.cs
- EmptyEnumerable.cs
- XmlException.cs
- CodeThrowExceptionStatement.cs
- ExtendedPropertyDescriptor.cs
- CodeTypeReferenceExpression.cs
- KnownTypesProvider.cs
- ExpressionCopier.cs
- XamlDesignerSerializationManager.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- SettingsSavedEventArgs.cs
- RegisterResponseInfo.cs
- LoadedOrUnloadedOperation.cs
- odbcmetadatafactory.cs
- HttpConfigurationSystem.cs
- DataBindingHandlerAttribute.cs
- UIElement.cs
- ZipIOExtraFieldPaddingElement.cs
- SqlDataAdapter.cs
- sqlstateclientmanager.cs
- WeakReferenceKey.cs
- EditorServiceContext.cs
- ViewBase.cs
- LateBoundBitmapDecoder.cs
- MetadataItem.cs
- DatePickerDateValidationErrorEventArgs.cs
- DrawTreeNodeEventArgs.cs
- FirstMatchCodeGroup.cs
- SafeLibraryHandle.cs
- DiscoveryVersion.cs
- DataTemplate.cs
- Effect.cs
- ListViewItem.cs
- ServiceConfigurationTraceRecord.cs
- MenuDesigner.cs
- IPAddressCollection.cs
- Types.cs
- ObjectDataSourceStatusEventArgs.cs
- RoutedEventValueSerializer.cs
- HttpWebRequestElement.cs
- WSHttpSecurity.cs
- MethodCallConverter.cs
- TextFormatterHost.cs
- ProxyHelper.cs
- GPStream.cs
- TextRange.cs
- SchemaInfo.cs
- MdImport.cs
- LayoutEngine.cs
- ModifierKeysValueSerializer.cs
- FixedDocumentSequencePaginator.cs
- QueryReaderSettings.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- CodeNamespaceImportCollection.cs
- WindowsImpersonationContext.cs
- GenericIdentity.cs
- FieldNameLookup.cs
- TagPrefixInfo.cs
- DetailsViewInsertedEventArgs.cs
- HtmlInputCheckBox.cs
- SchemaSetCompiler.cs
- TagPrefixCollection.cs
- EntityDataSourceValidationException.cs
- DataServiceExpressionVisitor.cs
- JoinCqlBlock.cs