Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Hosting / SimpleApplicationHost.cs / 3 / 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 ( 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ZipIOLocalFileBlock.cs
- DesignTimeType.cs
- SelectionBorderGlyph.cs
- PrintControllerWithStatusDialog.cs
- DynamicMetaObject.cs
- FacetDescriptionElement.cs
- ExpressionReplacer.cs
- SmiXetterAccessMap.cs
- MailMessageEventArgs.cs
- MenuItemCollection.cs
- RewritingProcessor.cs
- ListViewItem.cs
- DeferredRunTextReference.cs
- AsyncDataRequest.cs
- FormViewCommandEventArgs.cs
- PathData.cs
- SubpageParaClient.cs
- BinaryConverter.cs
- UIAgentAsyncBeginRequest.cs
- ListViewUpdatedEventArgs.cs
- ProfileSettings.cs
- Enumerable.cs
- Rotation3D.cs
- SqlError.cs
- FunctionNode.cs
- HitTestResult.cs
- OleDbMetaDataFactory.cs
- CreateUserErrorEventArgs.cs
- UTF8Encoding.cs
- DataBoundControl.cs
- SoapConverter.cs
- CDSCollectionETWBCLProvider.cs
- DurableInstanceContextProvider.cs
- EUCJPEncoding.cs
- LoginName.cs
- Journaling.cs
- XmlLangPropertyAttribute.cs
- HierarchicalDataBoundControl.cs
- RefreshEventArgs.cs
- PatternMatcher.cs
- StandardBindingImporter.cs
- FontCacheLogic.cs
- GeneratedContractType.cs
- EntityType.cs
- CellQuery.cs
- BigInt.cs
- MenuItem.cs
- ThemeDirectoryCompiler.cs
- Pair.cs
- XmlRawWriter.cs
- AnimationException.cs
- ApplicationSecurityManager.cs
- Trace.cs
- SlotInfo.cs
- IdleTimeoutMonitor.cs
- XmlResolver.cs
- ClientSettingsProvider.cs
- ParserHooks.cs
- WebPartZoneAutoFormat.cs
- KeyEventArgs.cs
- PassportIdentity.cs
- CheckableControlBaseAdapter.cs
- IssuanceLicense.cs
- WebInvokeAttribute.cs
- SyndicationDeserializer.cs
- SvcMapFile.cs
- Schedule.cs
- FrameworkReadOnlyPropertyMetadata.cs
- ScrollViewerAutomationPeer.cs
- SqlTriggerContext.cs
- DesignerEditorPartChrome.cs
- ErrorItem.cs
- _Semaphore.cs
- DeviceFilterEditorDialog.cs
- EntityContainerAssociationSetEnd.cs
- XpsPartBase.cs
- NotFiniteNumberException.cs
- DriveInfo.cs
- ReversePositionQuery.cs
- ConstructorNeedsTagAttribute.cs
- Viewport3DVisual.cs
- FilterEventArgs.cs
- SiteMapSection.cs
- Schema.cs
- SqlUtils.cs
- DefaultSettingsSection.cs
- EraserBehavior.cs
- AlternateViewCollection.cs
- StaticSiteMapProvider.cs
- Style.cs
- ChangeInterceptorAttribute.cs
- Selection.cs
- DesignTimeValidationFeature.cs
- SqlDataSourceStatusEventArgs.cs
- XmlChildNodes.cs
- WebHeaderCollection.cs
- DataGridLength.cs
- Funcletizer.cs
- ScalarOps.cs
- PageTheme.cs