Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / HostingPreferredMapPath.cs / 4 / 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
- UInt16Converter.cs
- Shape.cs
- LinkButton.cs
- ExchangeUtilities.cs
- CorrelationTokenInvalidatedHandler.cs
- QilName.cs
- URLBuilder.cs
- RectAnimation.cs
- CodeCompiler.cs
- LiteralControl.cs
- LayoutInformation.cs
- InheritedPropertyDescriptor.cs
- ExtenderProvidedPropertyAttribute.cs
- SystemThemeKey.cs
- FixedPage.cs
- GuidelineSet.cs
- TraceSource.cs
- WebConfigurationHostFileChange.cs
- PeerNameRegistration.cs
- PropertyInfo.cs
- ColumnMapVisitor.cs
- OdbcInfoMessageEvent.cs
- RSACryptoServiceProvider.cs
- GridViewRow.cs
- XmlResolver.cs
- MdbDataFileEditor.cs
- RightsManagementEncryptionTransform.cs
- IndexedSelectQueryOperator.cs
- FixedTextPointer.cs
- ProfileService.cs
- KeyFrames.cs
- OleDbSchemaGuid.cs
- Rect3DValueSerializer.cs
- PackageRelationshipSelector.cs
- SystemIPInterfaceProperties.cs
- CompositeCollectionView.cs
- RewritingValidator.cs
- SqlSelectStatement.cs
- DynamicMetaObject.cs
- ArglessEventHandlerProxy.cs
- ObjectTag.cs
- TransformPatternIdentifiers.cs
- DisplayInformation.cs
- CompositeActivityTypeDescriptorProvider.cs
- RegistryKey.cs
- SqlParameterCollection.cs
- Animatable.cs
- HttpApplicationStateWrapper.cs
- Focus.cs
- LineServices.cs
- ClientSession.cs
- TextControl.cs
- ProxyAttribute.cs
- SelectionRange.cs
- GregorianCalendar.cs
- CombinedGeometry.cs
- PseudoWebRequest.cs
- SqlLiftIndependentRowExpressions.cs
- TextDecorationCollection.cs
- TransformerInfoCollection.cs
- WriteTimeStream.cs
- HTMLTagNameToTypeMapper.cs
- BehaviorEditorPart.cs
- _SslStream.cs
- DataPagerCommandEventArgs.cs
- ProviderMetadataCachedInformation.cs
- AlphabeticalEnumConverter.cs
- IndexerNameAttribute.cs
- OdbcCommandBuilder.cs
- OleDbDataReader.cs
- FigureParagraph.cs
- DataBoundControlHelper.cs
- mediaeventargs.cs
- XmlQueryCardinality.cs
- NonSerializedAttribute.cs
- BindingNavigator.cs
- SizeValueSerializer.cs
- HtmlForm.cs
- SafeLocalMemHandle.cs
- DataContractSerializerOperationBehavior.cs
- MetadataCollection.cs
- BamlVersionHeader.cs
- EntityModelBuildProvider.cs
- NetMsmqSecurityMode.cs
- ParallelRangeManager.cs
- ExternalDataExchangeClient.cs
- TcpTransportManager.cs
- HandlerFactoryCache.cs
- AspNetRouteServiceHttpHandler.cs
- FixedBufferAttribute.cs
- baseaxisquery.cs
- EventLogPermissionAttribute.cs
- HtmlLabelAdapter.cs
- BoolExpression.cs
- DeviceSpecific.cs
- BitmapEffectInput.cs
- CodeEventReferenceExpression.cs
- QilGeneratorEnv.cs
- UnknownBitmapDecoder.cs
- ImmutablePropertyDescriptorGridEntry.cs