Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- BamlTreeUpdater.cs
- FormViewDeleteEventArgs.cs
- xmlformatgeneratorstatics.cs
- ActivityExecutionContext.cs
- InvariantComparer.cs
- BookmarkNameHelper.cs
- PipeStream.cs
- GetChildSubtree.cs
- ExtensionQuery.cs
- DataGridTablesFactory.cs
- SuppressMessageAttribute.cs
- UInt16.cs
- JapaneseLunisolarCalendar.cs
- CollectionDataContractAttribute.cs
- ConstraintConverter.cs
- EarlyBoundInfo.cs
- TcpConnectionPoolSettings.cs
- CompatibleIComparer.cs
- HttpConfigurationContext.cs
- GiveFeedbackEventArgs.cs
- RTTrackingProfile.cs
- GatewayIPAddressInformationCollection.cs
- Dispatcher.cs
- DecimalMinMaxAggregationOperator.cs
- CLRBindingWorker.cs
- StrokeCollection2.cs
- XmlSchemaIdentityConstraint.cs
- FunctionCommandText.cs
- CharEnumerator.cs
- TypeElement.cs
- ListBoxItem.cs
- DocumentXPathNavigator.cs
- LockCookie.cs
- OleDbError.cs
- ReferenceEqualityComparer.cs
- ClientFormsIdentity.cs
- LookupNode.cs
- UrlUtility.cs
- ReadonlyMessageFilter.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ModelPropertyDescriptor.cs
- PeerToPeerException.cs
- ScrollItemPattern.cs
- CodeRegionDirective.cs
- BrowserCapabilitiesCodeGenerator.cs
- CompilerState.cs
- NameObjectCollectionBase.cs
- LoopExpression.cs
- ReadWriteSpinLock.cs
- WindowsSpinner.cs
- CodeTypeReferenceCollection.cs
- AuthenticationConfig.cs
- SafeEventHandle.cs
- ByteViewer.cs
- Roles.cs
- UIElement3DAutomationPeer.cs
- Animatable.cs
- BuildProvidersCompiler.cs
- ADRoleFactory.cs
- PropertyInformation.cs
- ModelVisual3D.cs
- ToolStripPanel.cs
- ToolStripDropDownMenu.cs
- FlagsAttribute.cs
- RuleRefElement.cs
- BitmapEffectrendercontext.cs
- WebHttpBehavior.cs
- FormatterServices.cs
- SHA1.cs
- CodeAccessSecurityEngine.cs
- TdsParserSessionPool.cs
- XmlValidatingReader.cs
- RoleManagerSection.cs
- CalendarDesigner.cs
- UserControl.cs
- _MultipleConnectAsync.cs
- ProxyWebPartConnectionCollection.cs
- ApplicationServicesHostFactory.cs
- Crc32.cs
- UriExt.cs
- ISCIIEncoding.cs
- CharKeyFrameCollection.cs
- SchemaLookupTable.cs
- PageContentCollection.cs
- ReflectionHelper.cs
- XmlBinaryWriter.cs
- _RequestCacheProtocol.cs
- Column.cs
- DataServiceKeyAttribute.cs
- DataBoundControlAdapter.cs
- MulticastIPAddressInformationCollection.cs
- PropagatorResult.cs
- HTMLTagNameToTypeMapper.cs
- ObjectSet.cs
- EncodingStreamWrapper.cs
- MultitargetingHelpers.cs
- ExpressionBuilder.cs
- ItemCheckEvent.cs
- DocobjHost.cs
- SafeLibraryHandle.cs