Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / Hosting / SimpleApplicationHost.cs / 1 / SimpleApplicationHost.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Hosting { using System; using System.Collections; using System.Configuration; using System.Diagnostics; using System.Globalization; using System.Runtime.InteropServices; using System.Security.Permissions; using System.Web; using System.Web.Configuration; using System.Web.UI; using System.Web.Util; using Microsoft.Win32; using Debug = System.Web.Util.Debug; internal class SimpleApplicationHost : MarshalByRefObject, IApplicationHost { private VirtualPath _appVirtualPath; private String _appPhysicalPath; internal SimpleApplicationHost(VirtualPath virtualPath, string physicalPath) { if (String.IsNullOrEmpty(physicalPath)) throw ExceptionUtil.ParameterNullOrEmpty("physicalPath"); // Throw if the physical path is not canonical, to prevent potential // security issues (VSWhidbey 418125) if (FileUtil.IsSuspiciousPhysicalPath(physicalPath)) { throw ExceptionUtil.ParameterInvalid(physicalPath); } _appVirtualPath = virtualPath; _appPhysicalPath = StringUtil.StringEndsWith(physicalPath, "\\") ? physicalPath : physicalPath + "\\"; } public override Object InitializeLifetimeService() { return null; // never expire lease } // IApplicationHost implementation public string GetVirtualPath() { return _appVirtualPath.VirtualPathString; } String IApplicationHost.GetPhysicalPath() { return _appPhysicalPath; } IConfigMapPathFactory IApplicationHost.GetConfigMapPathFactory() { return new SimpleConfigMapPathFactory(); } IntPtr IApplicationHost.GetConfigToken() { return IntPtr.Zero; } String IApplicationHost.GetSiteName() { return WebConfigurationHost.DefaultSiteName; } String IApplicationHost.GetSiteID() { return WebConfigurationHost.DefaultSiteID; } public void MessageReceived() { // nothing } } [Serializable()] internal class SimpleConfigMapPathFactory : IConfigMapPathFactory { IConfigMapPath IConfigMapPathFactory.Create(string virtualPath, string physicalPath) { WebConfigurationFileMap webFileMap = new WebConfigurationFileMap(); VirtualPath vpath = VirtualPath.Create(virtualPath); // Application path webFileMap.VirtualDirectories.Add(vpath.VirtualPathStringNoTrailingSlash, new VirtualDirectoryMapping(physicalPath, true)); // Client script file path webFileMap.VirtualDirectories.Add( HttpRuntime.AspClientScriptVirtualPath, new VirtualDirectoryMapping(HttpRuntime.AspClientScriptPhysicalPathInternal, false)); return new UserMapPath(webFileMap); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Hosting { using System; using System.Collections; using System.Configuration; using System.Diagnostics; using System.Globalization; using System.Runtime.InteropServices; using System.Security.Permissions; using System.Web; using System.Web.Configuration; using System.Web.UI; using System.Web.Util; using Microsoft.Win32; using Debug = System.Web.Util.Debug; internal class SimpleApplicationHost : MarshalByRefObject, IApplicationHost { private VirtualPath _appVirtualPath; private String _appPhysicalPath; internal SimpleApplicationHost(VirtualPath virtualPath, string physicalPath) { if (String.IsNullOrEmpty(physicalPath)) throw ExceptionUtil.ParameterNullOrEmpty("physicalPath"); // Throw if the physical path is not canonical, to prevent potential // security issues (VSWhidbey 418125) if (FileUtil.IsSuspiciousPhysicalPath(physicalPath)) { throw ExceptionUtil.ParameterInvalid(physicalPath); } _appVirtualPath = virtualPath; _appPhysicalPath = StringUtil.StringEndsWith(physicalPath, "\\") ? physicalPath : physicalPath + "\\"; } public override Object InitializeLifetimeService() { return null; // never expire lease } // IApplicationHost implementation public string GetVirtualPath() { return _appVirtualPath.VirtualPathString; } String IApplicationHost.GetPhysicalPath() { return _appPhysicalPath; } IConfigMapPathFactory IApplicationHost.GetConfigMapPathFactory() { return new SimpleConfigMapPathFactory(); } IntPtr IApplicationHost.GetConfigToken() { return IntPtr.Zero; } String IApplicationHost.GetSiteName() { return WebConfigurationHost.DefaultSiteName; } String IApplicationHost.GetSiteID() { return WebConfigurationHost.DefaultSiteID; } public void MessageReceived() { // nothing } } [Serializable()] internal class SimpleConfigMapPathFactory : IConfigMapPathFactory { IConfigMapPath IConfigMapPathFactory.Create(string virtualPath, string physicalPath) { WebConfigurationFileMap webFileMap = new WebConfigurationFileMap(); VirtualPath vpath = VirtualPath.Create(virtualPath); // Application path webFileMap.VirtualDirectories.Add(vpath.VirtualPathStringNoTrailingSlash, new VirtualDirectoryMapping(physicalPath, true)); // Client script file path webFileMap.VirtualDirectories.Add( HttpRuntime.AspClientScriptVirtualPath, new VirtualDirectoryMapping(HttpRuntime.AspClientScriptPhysicalPathInternal, false)); return new UserMapPath(webFileMap); } } } // 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
- SerializationBinder.cs
- StringDictionary.cs
- ParameterDataSourceExpression.cs
- PropertyEntry.cs
- TextFormatter.cs
- RemoteWebConfigurationHostStream.cs
- WebServiceParameterData.cs
- GlyphTypeface.cs
- OutputCacheModule.cs
- BreakRecordTable.cs
- GeometryDrawing.cs
- TerminatorSinks.cs
- DrawingImage.cs
- AppDomainManager.cs
- TextClipboardData.cs
- Soap.cs
- SspiSafeHandles.cs
- XmlSchemaExporter.cs
- BitmapMetadataBlob.cs
- RtfToXamlReader.cs
- ChannelSinkStacks.cs
- MenuRenderer.cs
- TypedTableBaseExtensions.cs
- FieldTemplateUserControl.cs
- SqlConnectionPoolProviderInfo.cs
- FileLogRecordEnumerator.cs
- BadImageFormatException.cs
- ExtendedPropertiesHandler.cs
- SettingsProviderCollection.cs
- SqlExpander.cs
- SqlErrorCollection.cs
- HyperLinkStyle.cs
- login.cs
- DragDropManager.cs
- UseManagedPresentationBindingElementImporter.cs
- TextBlock.cs
- ScriptReferenceBase.cs
- EventTrigger.cs
- ColumnMapCopier.cs
- OneOfTypeConst.cs
- TabControlCancelEvent.cs
- SelectionItemPattern.cs
- RoleServiceManager.cs
- MulticastOption.cs
- URLIdentityPermission.cs
- TransformationRules.cs
- PanelDesigner.cs
- ReversePositionQuery.cs
- BinaryNode.cs
- XhtmlBasicFormAdapter.cs
- GridViewUpdateEventArgs.cs
- PropertyValueUIItem.cs
- SqlCommandBuilder.cs
- ActiveXSerializer.cs
- XhtmlBasicObjectListAdapter.cs
- FontDialog.cs
- CheckBoxAutomationPeer.cs
- SamlAdvice.cs
- Label.cs
- VisualStyleElement.cs
- CharAnimationBase.cs
- SqlUtils.cs
- ComboBox.cs
- XmlSerializerFactory.cs
- FocusChangedEventArgs.cs
- ReverseInheritProperty.cs
- PrivilegeNotHeldException.cs
- AlphaSortedEnumConverter.cs
- versioninfo.cs
- FormViewPagerRow.cs
- StateDesigner.LayoutSelectionGlyph.cs
- TimeoutConverter.cs
- CodeMemberMethod.cs
- ObjectKeyFrameCollection.cs
- ContractMapping.cs
- CompositeFontInfo.cs
- ConfigurationManagerHelperFactory.cs
- TargetPerspective.cs
- InternalConfigRoot.cs
- FlowLayoutSettings.cs
- ReadOnlyCollection.cs
- Brush.cs
- WebPartZone.cs
- FolderBrowserDialog.cs
- StyleXamlTreeBuilder.cs
- XmlDocument.cs
- SqlTransaction.cs
- XPathNodeHelper.cs
- ToolStripDesignerAvailabilityAttribute.cs
- HeaderCollection.cs
- Bitmap.cs
- ContainsRowNumberChecker.cs
- CodeParameterDeclarationExpressionCollection.cs
- VirtualDirectoryMappingCollection.cs
- Context.cs
- Latin1Encoding.cs
- ValidationHelper.cs
- Region.cs
- CustomAttribute.cs
- SynchronizationLockException.cs