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
- AxisAngleRotation3D.cs
- CorePropertiesFilter.cs
- DiscoveryClientElement.cs
- PixelFormat.cs
- DatagridviewDisplayedBandsData.cs
- Grid.cs
- HttpCookieCollection.cs
- UpDownEvent.cs
- DependencyPropertyKey.cs
- ConfigXmlDocument.cs
- Authorization.cs
- TcpChannelHelper.cs
- SortKey.cs
- ItemsControlAutomationPeer.cs
- UndoEngine.cs
- CreationContext.cs
- SendingRequestEventArgs.cs
- SkinBuilder.cs
- FloaterBaseParagraph.cs
- HandlerBase.cs
- ByteViewer.cs
- AncestorChangedEventArgs.cs
- QilLoop.cs
- PersonalizablePropertyEntry.cs
- processwaithandle.cs
- Filter.cs
- CapabilitiesSection.cs
- _SslState.cs
- OfTypeExpression.cs
- InputGestureCollection.cs
- HtmlElementEventArgs.cs
- RoleManagerSection.cs
- HtmlFormParameterWriter.cs
- BindingExpressionUncommonField.cs
- BuilderPropertyEntry.cs
- RemoteWebConfigurationHost.cs
- StringAnimationBase.cs
- HttpFormatExtensions.cs
- CompoundFileDeflateTransform.cs
- BindToObject.cs
- StateWorkerRequest.cs
- ConnectionManagementElement.cs
- InsufficientMemoryException.cs
- TypeSystem.cs
- UmAlQuraCalendar.cs
- EventManager.cs
- MetricEntry.cs
- WebBrowserUriTypeConverter.cs
- ExtentCqlBlock.cs
- CorePropertiesFilter.cs
- RIPEMD160.cs
- UiaCoreProviderApi.cs
- ThicknessConverter.cs
- ReturnType.cs
- QilDataSource.cs
- X509ImageLogo.cs
- Expressions.cs
- DelegateSerializationHolder.cs
- BitVec.cs
- SQLDateTimeStorage.cs
- OverflowException.cs
- PersistChildrenAttribute.cs
- CommonDialog.cs
- DataListItemCollection.cs
- TypeDescriptor.cs
- KnownBoxes.cs
- ListDictionary.cs
- coordinator.cs
- TreeBuilder.cs
- StsCommunicationException.cs
- Debug.cs
- IdentityReference.cs
- Helpers.cs
- WpfSharedBamlSchemaContext.cs
- COM2IPerPropertyBrowsingHandler.cs
- SqlDataSourceStatusEventArgs.cs
- UserControlCodeDomTreeGenerator.cs
- HorizontalAlignConverter.cs
- StylusDevice.cs
- OleDbFactory.cs
- TimeoutValidationAttribute.cs
- SettingsPropertyValueCollection.cs
- ProxyHwnd.cs
- SqlDataReader.cs
- ToolStripPanelRow.cs
- DbProviderFactory.cs
- DynamicUpdateCommand.cs
- BasicSecurityProfileVersion.cs
- Buffer.cs
- XslNumber.cs
- DbConnectionPoolCounters.cs
- WebPartZoneBaseDesigner.cs
- XmlConvert.cs
- MediaElementAutomationPeer.cs
- ContentDisposition.cs
- DateTimeValueSerializer.cs
- DesignerObjectListAdapter.cs
- WinCategoryAttribute.cs
- AssemblyInfo.cs
- HostedImpersonationContext.cs