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
- TiffBitmapDecoder.cs
- OleDbParameter.cs
- ToolStripPanelCell.cs
- FormViewRow.cs
- GridViewRowPresenter.cs
- UnsafeNativeMethods.cs
- Attributes.cs
- ResourcePermissionBaseEntry.cs
- DropShadowEffect.cs
- tooltip.cs
- FigureParagraph.cs
- WindowsSolidBrush.cs
- CompoundFileStorageReference.cs
- CryptoApi.cs
- Utilities.cs
- OpenTypeLayoutCache.cs
- RedistVersionInfo.cs
- FontFamilyIdentifier.cs
- HttpListenerRequestUriBuilder.cs
- ElementAction.cs
- ControllableStoryboardAction.cs
- UserControl.cs
- Rijndael.cs
- CrossSiteScriptingValidation.cs
- CompiledRegexRunnerFactory.cs
- PackUriHelper.cs
- FocusManager.cs
- WindowsImpersonationContext.cs
- CommandField.cs
- RtfNavigator.cs
- ClientData.cs
- PrintPreviewGraphics.cs
- X509ScopedServiceCertificateElementCollection.cs
- XmlAttributeOverrides.cs
- Single.cs
- OleDbRowUpdatedEvent.cs
- OperationSelectorBehavior.cs
- TemplatePagerField.cs
- SystemInformation.cs
- RegexStringValidator.cs
- SessionStateItemCollection.cs
- NavigationHelper.cs
- DocumentSequence.cs
- contentDescriptor.cs
- MemberNameValidator.cs
- SplitterCancelEvent.cs
- GroupBoxRenderer.cs
- ColumnCollection.cs
- BooleanKeyFrameCollection.cs
- DataServiceExpressionVisitor.cs
- BaseProcessor.cs
- ExtensionDataObject.cs
- Vector3dCollection.cs
- QilName.cs
- ConstraintEnumerator.cs
- ElementAction.cs
- RemotingException.cs
- ScriptingSectionGroup.cs
- IdentityNotMappedException.cs
- SQLRoleProvider.cs
- InternalRelationshipCollection.cs
- TextOnlyOutput.cs
- Crc32Helper.cs
- BinaryObjectWriter.cs
- EasingQuaternionKeyFrame.cs
- ServicePoint.cs
- DataTableTypeConverter.cs
- DataGridRow.cs
- TypeUtil.cs
- ZipIOBlockManager.cs
- ExpressionDumper.cs
- RegexTree.cs
- DataGridViewBindingCompleteEventArgs.cs
- ResourcePermissionBase.cs
- TableSectionStyle.cs
- ByteStorage.cs
- XmlExtensionFunction.cs
- SessionState.cs
- CodeGeneratorOptions.cs
- ListSourceHelper.cs
- Latin1Encoding.cs
- StreamMarshaler.cs
- InstanceCreationEditor.cs
- CodeBinaryOperatorExpression.cs
- _LoggingObject.cs
- RelationshipEntry.cs
- HitTestDrawingContextWalker.cs
- InvalidEnumArgumentException.cs
- RefreshEventArgs.cs
- GridViewDeletedEventArgs.cs
- ObjectDataProvider.cs
- PropertyPushdownHelper.cs
- CodeGotoStatement.cs
- DescriptionAttribute.cs
- IdentityNotMappedException.cs
- ToolStripComboBox.cs
- LogAppendAsyncResult.cs
- Compiler.cs
- Separator.cs
- DetailsViewUpdatedEventArgs.cs