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
- KeyValueConfigurationElement.cs
- SchemaRegistration.cs
- RenderDataDrawingContext.cs
- ZoneLinkButton.cs
- FormsAuthenticationUserCollection.cs
- CodeCompiler.cs
- NetPeerTcpBindingElement.cs
- ContractMapping.cs
- ExpressionVisitorHelpers.cs
- MessageHeaderT.cs
- StringUtil.cs
- XmlWhitespace.cs
- TypeInitializationException.cs
- ImplicitInputBrush.cs
- PerspectiveCamera.cs
- HandlerElementCollection.cs
- ConnectionPoolManager.cs
- HttpListenerException.cs
- XMLDiffLoader.cs
- XmlSchemaObjectCollection.cs
- PersonalizationDictionary.cs
- VectorCollectionValueSerializer.cs
- DataObjectEventArgs.cs
- XmlSerializerVersionAttribute.cs
- StatusBarPanel.cs
- OrderedDictionary.cs
- CalendarDataBindingHandler.cs
- RangeValuePatternIdentifiers.cs
- XmlRawWriter.cs
- CheckBoxStandardAdapter.cs
- DeclaredTypeElement.cs
- CaseCqlBlock.cs
- EntityDataSourceMemberPath.cs
- Task.cs
- EnvelopedPkcs7.cs
- HtmlWindowCollection.cs
- SecureStringHasher.cs
- EasingKeyFrames.cs
- WebPartsPersonalizationAuthorization.cs
- GetBrowserTokenRequest.cs
- TreeNodeCollection.cs
- RegexGroup.cs
- ObjectQuery.cs
- VirtualDirectoryMapping.cs
- DataGridViewRowCancelEventArgs.cs
- LeaseManager.cs
- InputBindingCollection.cs
- CommonDialog.cs
- NoneExcludedImageIndexConverter.cs
- UIElement.cs
- EdmComplexTypeAttribute.cs
- Char.cs
- JumpPath.cs
- ComboBoxHelper.cs
- PeerPresenceInfo.cs
- DependencyObjectCodeDomSerializer.cs
- Helper.cs
- TextTreeUndoUnit.cs
- ListView.cs
- MetabaseServerConfig.cs
- AnnotationDocumentPaginator.cs
- Certificate.cs
- AssemblyAttributes.cs
- CachedRequestParams.cs
- XmlQueryContext.cs
- HttpHandlersSection.cs
- isolationinterop.cs
- CssClassPropertyAttribute.cs
- MailAddressCollection.cs
- StaticResourceExtension.cs
- LabelAutomationPeer.cs
- XmlNotation.cs
- SqlError.cs
- SmiSettersStream.cs
- RewritingSimplifier.cs
- GridViewColumnHeaderAutomationPeer.cs
- DeferredBinaryDeserializerExtension.cs
- XNameConverter.cs
- Root.cs
- OciHandle.cs
- RepeatBehavior.cs
- ToolStripItemGlyph.cs
- SQLBinary.cs
- TableAdapterManagerGenerator.cs
- PeerReferralPolicy.cs
- HttpFileCollection.cs
- SharedDp.cs
- TextAutomationPeer.cs
- GPPOINT.cs
- View.cs
- ThreadStaticAttribute.cs
- WorkflowMarkupSerializer.cs
- DbParameterCollectionHelper.cs
- Atom10FeedFormatter.cs
- SQLInt32.cs
- ToolStripSplitButton.cs
- ReadOnlyState.cs
- Encoder.cs
- CollectionType.cs
- UriParserTemplates.cs