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
- CodeDirectoryCompiler.cs
- Nodes.cs
- Visual3D.cs
- IDispatchConstantAttribute.cs
- MetadataCollection.cs
- ListBase.cs
- FlowDocumentView.cs
- HttpPostedFileBase.cs
- PropertyAccessVisitor.cs
- ConcurrentStack.cs
- XamlHttpHandlerFactory.cs
- DataGridTablesFactory.cs
- DefaultIfEmptyQueryOperator.cs
- CodeDOMUtility.cs
- CursorConverter.cs
- EncoderBestFitFallback.cs
- ExceptionHandlerDesigner.cs
- PhysicalOps.cs
- NavigationWindowAutomationPeer.cs
- COAUTHIDENTITY.cs
- KeyGesture.cs
- ImageSourceValueSerializer.cs
- AndCondition.cs
- AssemblyHash.cs
- MethodBuilderInstantiation.cs
- TopClause.cs
- DrawingAttributes.cs
- DoubleAnimationUsingPath.cs
- TypedElement.cs
- OletxTransactionManager.cs
- OleAutBinder.cs
- FrameSecurityDescriptor.cs
- GridViewSelectEventArgs.cs
- DataBindingCollection.cs
- MetafileHeaderEmf.cs
- TextUtf8RawTextWriter.cs
- _ConnectStream.cs
- EncryptedPackage.cs
- Environment.cs
- TextEndOfSegment.cs
- ProcessHost.cs
- InheritedPropertyDescriptor.cs
- FlowLayout.cs
- StrokeNode.cs
- ObjectToIdCache.cs
- x509utils.cs
- Memoizer.cs
- SharedUtils.cs
- assemblycache.cs
- FusionWrap.cs
- Attributes.cs
- HTMLTextWriter.cs
- PageCodeDomTreeGenerator.cs
- DataGridViewAccessibleObject.cs
- AnimationClock.cs
- DataViewListener.cs
- ConfigXmlText.cs
- ImageFormatConverter.cs
- WizardSideBarListControlItem.cs
- HwndProxyElementProvider.cs
- TraceSection.cs
- XmlIgnoreAttribute.cs
- FixedHyperLink.cs
- DockingAttribute.cs
- XmlSchemaSearchPattern.cs
- DataControlCommands.cs
- XmlResolver.cs
- GridPattern.cs
- XmlQuerySequence.cs
- XamlStream.cs
- XmlWhitespace.cs
- BatchWriter.cs
- FileEnumerator.cs
- Soap.cs
- SimpleNameService.cs
- SynchronizationLockException.cs
- AccessedThroughPropertyAttribute.cs
- LocalValueEnumerator.cs
- ServiceRouteHandler.cs
- BindingManagerDataErrorEventArgs.cs
- UIElementIsland.cs
- CheckBoxDesigner.cs
- SqlLiftWhereClauses.cs
- _KerberosClient.cs
- NameSpaceExtractor.cs
- documentsequencetextcontainer.cs
- SupportsEventValidationAttribute.cs
- ReachSerializationCacheItems.cs
- BooleanFunctions.cs
- GridProviderWrapper.cs
- MultipleViewProviderWrapper.cs
- FormatterConverter.cs
- GridViewCellAutomationPeer.cs
- MimeTextImporter.cs
- HashRepartitionStream.cs
- DbConvert.cs
- DeviceContexts.cs
- DataGridCell.cs
- TextRunCacheImp.cs
- AsyncContentLoadedEventArgs.cs