Code:
/ FX-1434 / FX-1434 / 1.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
- MobileContainerDesigner.cs
- SystemException.cs
- NavigatorInput.cs
- XPathScanner.cs
- XmlElementList.cs
- TimestampInformation.cs
- Underline.cs
- WmlSelectionListAdapter.cs
- TextBox.cs
- BatchParser.cs
- RemoteWebConfigurationHostStream.cs
- SourceElementsCollection.cs
- MethodToken.cs
- WhiteSpaceTrimStringConverter.cs
- EventSinkHelperWriter.cs
- InputReportEventArgs.cs
- XmlKeywords.cs
- CompilerState.cs
- Graph.cs
- HtmlUtf8RawTextWriter.cs
- StatusCommandUI.cs
- PerformanceCounterTraceRecord.cs
- ZoneLinkButton.cs
- DefaultProxySection.cs
- MsmqIntegrationSecurity.cs
- ExtentCqlBlock.cs
- XmlSerializerVersionAttribute.cs
- BulletDecorator.cs
- ClientSettingsProvider.cs
- ErrorProvider.cs
- SelectionChangedEventArgs.cs
- DynamicQueryableWrapper.cs
- OleAutBinder.cs
- MessageSmuggler.cs
- WindowShowOrOpenTracker.cs
- Base64Encoder.cs
- Tuple.cs
- ConfigDefinitionUpdates.cs
- DBAsyncResult.cs
- GradientBrush.cs
- MetadataUtilsSmi.cs
- ReadOnlyPropertyMetadata.cs
- InstanceDataCollection.cs
- TimersDescriptionAttribute.cs
- ItemCollection.cs
- ObjectStateEntryDbDataRecord.cs
- DbDataSourceEnumerator.cs
- GridViewEditEventArgs.cs
- BitmapImage.cs
- XmlNamespaceManager.cs
- SoapAttributes.cs
- Base64Encoder.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- FileAuthorizationModule.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- OdbcInfoMessageEvent.cs
- ObjectDataSourceStatusEventArgs.cs
- UInt16Storage.cs
- ParameterEditorUserControl.cs
- TabControl.cs
- UITypeEditor.cs
- IOException.cs
- StringAnimationBase.cs
- TdsEnums.cs
- FileDocument.cs
- SharedUtils.cs
- DbTransaction.cs
- SecurityContext.cs
- SystemColors.cs
- WorkflowApplicationTerminatedException.cs
- EntityDataSourceState.cs
- TreeIterators.cs
- METAHEADER.cs
- ErrorHandler.cs
- SchemaImporterExtensionElement.cs
- EdmComplexPropertyAttribute.cs
- ComNativeDescriptor.cs
- ErrorFormatter.cs
- QueryResults.cs
- HttpContextBase.cs
- IODescriptionAttribute.cs
- ThicknessAnimationUsingKeyFrames.cs
- UrlPath.cs
- ListContractAdapter.cs
- DoubleAnimationUsingPath.cs
- Error.cs
- ZipIOExtraField.cs
- HostVisual.cs
- CodeIdentifier.cs
- ValueConversionAttribute.cs
- Brush.cs
- QuaternionAnimationBase.cs
- DrawingState.cs
- BehaviorEditorPart.cs
- SqlFunctionAttribute.cs
- TextBox.cs
- ObjectView.cs
- TypeTypeConverter.cs
- ElementMarkupObject.cs
- GenericsInstances.cs