Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Hosting / SimpleApplicationHost.cs / 2 / 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); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlObjectSerializerWriteContext.cs
- NewExpression.cs
- printdlgexmarshaler.cs
- DetailsViewDeletedEventArgs.cs
- CompositeFontFamily.cs
- _emptywebproxy.cs
- WebPartMinimizeVerb.cs
- ActiveXSite.cs
- ErrorStyle.cs
- SqlDeflator.cs
- NameValueConfigurationElement.cs
- PrincipalPermission.cs
- ThemeDirectoryCompiler.cs
- HandlerFactoryWrapper.cs
- ShutDownListener.cs
- RectangleGeometry.cs
- CacheOutputQuery.cs
- Int16Storage.cs
- InputQueue.cs
- ServiceNotStartedException.cs
- ResourceBinder.cs
- Compensate.cs
- MasterPageCodeDomTreeGenerator.cs
- DrawingContextDrawingContextWalker.cs
- ParserHooks.cs
- DataBindingExpressionBuilder.cs
- LicenseManager.cs
- InvalidProgramException.cs
- DataColumnMapping.cs
- BinHexEncoder.cs
- SmiEventSink_DeferedProcessing.cs
- OverflowException.cs
- SourceLineInfo.cs
- CryptoStream.cs
- Vars.cs
- Panel.cs
- StrokeNodeOperations.cs
- ReflectionServiceProvider.cs
- FileDialog_Vista_Interop.cs
- AuthenticatedStream.cs
- ThreadStartException.cs
- SharedUtils.cs
- XmlWellformedWriter.cs
- FixedSOMSemanticBox.cs
- QilTernary.cs
- TransformerConfigurationWizardBase.cs
- ObjectCloneHelper.cs
- ZipIOLocalFileBlock.cs
- ParallelActivityDesigner.cs
- ConditionalAttribute.cs
- PeerEndPoint.cs
- formatter.cs
- FileReader.cs
- GridViewColumnHeaderAutomationPeer.cs
- SimpleTextLine.cs
- ChildTable.cs
- CommonProperties.cs
- ReferenceConverter.cs
- AdapterSwitches.cs
- ValidationErrorCollection.cs
- CmsInterop.cs
- VisualStyleTypesAndProperties.cs
- SmtpTransport.cs
- TcpTransportManager.cs
- FileDialog.cs
- OneOfElement.cs
- OdbcConnectionFactory.cs
- ListViewItem.cs
- SoapAttributeAttribute.cs
- CacheOutputQuery.cs
- PropertyRecord.cs
- PEFileReader.cs
- AppDomainProtocolHandler.cs
- PropertyConverter.cs
- WebColorConverter.cs
- HwndHostAutomationPeer.cs
- XmlSerializer.cs
- GridViewCommandEventArgs.cs
- Soap12FormatExtensions.cs
- DBNull.cs
- _SslSessionsCache.cs
- ColumnMapVisitor.cs
- WebPartEventArgs.cs
- EventLogPermissionEntry.cs
- PtsCache.cs
- Int16Storage.cs
- AutomationPatternInfo.cs
- HandleRef.cs
- WsatServiceCertificate.cs
- InputLangChangeRequestEvent.cs
- SmiEventStream.cs
- DnsPermission.cs
- PhysicalAddress.cs
- DBPropSet.cs
- NumberFunctions.cs
- SpeechSynthesizer.cs
- WpfXamlMember.cs
- OracleEncoding.cs
- TableLayoutStyle.cs
- StyleSheetRefUrlEditor.cs