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
- CodeDefaultValueExpression.cs
- DesignBindingPicker.cs
- CompilerParameters.cs
- StrokeSerializer.cs
- BinaryCommonClasses.cs
- WindowsPen.cs
- PageMediaType.cs
- UncommonField.cs
- ListItemConverter.cs
- ProtocolsConfigurationHandler.cs
- Link.cs
- ProcessingInstructionAction.cs
- EastAsianLunisolarCalendar.cs
- CultureInfoConverter.cs
- FirstMatchCodeGroup.cs
- MatrixConverter.cs
- SwitchLevelAttribute.cs
- CodeVariableReferenceExpression.cs
- DesignerVerbCollection.cs
- HuffModule.cs
- XmlQueryCardinality.cs
- AtomParser.cs
- QuinticEase.cs
- CacheChildrenQuery.cs
- PrinterSettings.cs
- CompoundFileStreamReference.cs
- DesignerOptionService.cs
- ObservableCollection.cs
- ScriptingScriptResourceHandlerSection.cs
- SplitContainerDesigner.cs
- SmiMetaDataProperty.cs
- ImageMap.cs
- DataServiceHost.cs
- BindingsCollection.cs
- DataGridTextBoxColumn.cs
- BamlLocalizationDictionary.cs
- Parsers.cs
- EntityViewGenerationAttribute.cs
- ListViewItem.cs
- RegistrySecurity.cs
- DesignerUtility.cs
- BitVector32.cs
- ColorContext.cs
- ErrorWrapper.cs
- IntegerValidatorAttribute.cs
- WindowsClaimSet.cs
- DataObjectPastingEventArgs.cs
- DataGridViewRowsRemovedEventArgs.cs
- HttpCacheParams.cs
- SqlAggregateChecker.cs
- SafeArrayRankMismatchException.cs
- ServiceProviders.cs
- BitmapPalette.cs
- HttpStaticObjectsCollectionWrapper.cs
- ContextMenu.cs
- embossbitmapeffect.cs
- HttpContext.cs
- SiteMapSection.cs
- RightNameExpirationInfoPair.cs
- DataGridViewCellStyleBuilderDialog.cs
- SqlRetyper.cs
- x509utils.cs
- GreenMethods.cs
- TextBoxLine.cs
- Wow64ConfigurationLoader.cs
- ImageField.cs
- MenuItemStyleCollection.cs
- CollectionChangedEventManager.cs
- ControlType.cs
- DecoderExceptionFallback.cs
- CharacterBufferReference.cs
- XPathDocument.cs
- DockPattern.cs
- WebBrowserPermission.cs
- Vector3DCollection.cs
- LogEntry.cs
- UrlPropertyAttribute.cs
- _NTAuthentication.cs
- BamlTreeMap.cs
- ToReply.cs
- FontFamilyValueSerializer.cs
- ZipIOLocalFileHeader.cs
- ClientApiGenerator.cs
- SqlProviderUtilities.cs
- JoinGraph.cs
- Queue.cs
- PeerNearMe.cs
- DbReferenceCollection.cs
- ActivitiesCollection.cs
- StreamResourceInfo.cs
- errorpatternmatcher.cs
- TypedAsyncResult.cs
- ClientTargetSection.cs
- VectorAnimation.cs
- TrackingStringDictionary.cs
- CompilerHelpers.cs
- ToolStripTextBox.cs
- ColorIndependentAnimationStorage.cs
- MessageSecurityProtocol.cs
- CatalogPart.cs