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
- SynchronizationContext.cs
- DeleteIndexBinder.cs
- CapabilitiesRule.cs
- PrintPreviewGraphics.cs
- SessionEndingEventArgs.cs
- ControlBuilder.cs
- CodeEntryPointMethod.cs
- EncoderFallback.cs
- ObjectConverter.cs
- XPathNode.cs
- _AutoWebProxyScriptHelper.cs
- MimeWriter.cs
- SettingsContext.cs
- FederatedMessageSecurityOverHttpElement.cs
- DataContractAttribute.cs
- AddInProcess.cs
- StreamWriter.cs
- DataGridViewCellCancelEventArgs.cs
- SoapObjectReader.cs
- InfoCardAsymmetricCrypto.cs
- StreamInfo.cs
- DetailsViewUpdatedEventArgs.cs
- ConnectionPoolManager.cs
- StylusPointPropertyId.cs
- BuiltInExpr.cs
- DateTime.cs
- Drawing.cs
- PropertyNames.cs
- PathSegmentCollection.cs
- InstanceKey.cs
- XmlSchemaExternal.cs
- DictionaryContent.cs
- ValueOfAction.cs
- BindingList.cs
- Attributes.cs
- LockedBorderGlyph.cs
- AssemblyCollection.cs
- BindingMAnagerBase.cs
- EntityDataReader.cs
- SchemaLookupTable.cs
- OperationCanceledException.cs
- WindowsUpDown.cs
- X509Certificate2.cs
- ConfigurationElement.cs
- AudioStateChangedEventArgs.cs
- ListDictionaryInternal.cs
- ThreadAttributes.cs
- TemplatedWizardStep.cs
- VirtualPathUtility.cs
- AuthenticationException.cs
- CodeDirectoryCompiler.cs
- AnonymousIdentificationModule.cs
- CredentialManagerDialog.cs
- MonitoringDescriptionAttribute.cs
- ListControl.cs
- RootDesignerSerializerAttribute.cs
- ContentElement.cs
- safex509handles.cs
- StaticDataManager.cs
- StyleHelper.cs
- DataRelationPropertyDescriptor.cs
- StrongNamePublicKeyBlob.cs
- GridViewSelectEventArgs.cs
- ipaddressinformationcollection.cs
- ViewgenContext.cs
- ButtonColumn.cs
- PersonalizationAdministration.cs
- ADRoleFactoryConfiguration.cs
- SecurityContextSecurityTokenParameters.cs
- XmlTextEncoder.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- Grammar.cs
- OpenTypeCommon.cs
- MimeFormImporter.cs
- DataServiceHost.cs
- OperationDescription.cs
- KnownIds.cs
- OleDbSchemaGuid.cs
- ManagedIStream.cs
- WebPartMenu.cs
- ObjectViewListener.cs
- ModelItemImpl.cs
- ListBox.cs
- Image.cs
- RemotingSurrogateSelector.cs
- HtmlInputControl.cs
- XPathScanner.cs
- SizeKeyFrameCollection.cs
- Identifier.cs
- DBSqlParserColumnCollection.cs
- QilGenerator.cs
- LookupBindingPropertiesAttribute.cs
- BrowserCapabilitiesFactoryBase.cs
- DbConnectionFactory.cs
- DataGridSortingEventArgs.cs
- FormViewUpdateEventArgs.cs
- DataGridParentRows.cs
- DataGridDetailsPresenter.cs
- ControlEvent.cs
- DrawingImage.cs