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
- MULTI_QI.cs
- FormViewModeEventArgs.cs
- NonPrimarySelectionGlyph.cs
- wmiprovider.cs
- File.cs
- DesignerDataColumn.cs
- LocalTransaction.cs
- ComponentResourceKeyConverter.cs
- ImageMap.cs
- shaperfactoryquerycacheentry.cs
- CacheMemory.cs
- WebResourceAttribute.cs
- TypeConverterAttribute.cs
- linebase.cs
- TagPrefixCollection.cs
- TempEnvironment.cs
- SEHException.cs
- Char.cs
- NavigatorInput.cs
- DPTypeDescriptorContext.cs
- ObjectPersistData.cs
- DesignerVerbCollection.cs
- IgnoreSectionHandler.cs
- GridItem.cs
- ClassGenerator.cs
- BitmapEditor.cs
- SqlNamer.cs
- ValidationUtility.cs
- ExceptionValidationRule.cs
- UnsafeNativeMethods.cs
- BuilderPropertyEntry.cs
- X509Utils.cs
- TextRangeEditTables.cs
- PreProcessor.cs
- PropertyGridCommands.cs
- SqlUtil.cs
- FontInfo.cs
- DependencyObjectPropertyDescriptor.cs
- HtmlTable.cs
- SecurityContext.cs
- ScrollChangedEventArgs.cs
- OptimizedTemplateContent.cs
- KeyValueConfigurationCollection.cs
- LineServicesCallbacks.cs
- AppDomainManager.cs
- _TransmitFileOverlappedAsyncResult.cs
- OleDbPropertySetGuid.cs
- FormCollection.cs
- Logging.cs
- AdornerDecorator.cs
- MissingFieldException.cs
- Context.cs
- ActivitySurrogateSelector.cs
- PolyLineSegment.cs
- FactoryRecord.cs
- HttpConfigurationContext.cs
- GridViewAutomationPeer.cs
- FrameworkTemplate.cs
- TypeDescriptor.cs
- CancellationTokenRegistration.cs
- Size.cs
- RankException.cs
- PeerNameResolver.cs
- SqlCacheDependencyDatabaseCollection.cs
- MessageEncodingBindingElement.cs
- AnimationLayer.cs
- TextSpanModifier.cs
- KnownBoxes.cs
- BitArray.cs
- ConstraintStruct.cs
- EventLogPermissionEntry.cs
- Graph.cs
- xmlformatgeneratorstatics.cs
- OleAutBinder.cs
- UrlSyndicationContent.cs
- XmlSchemaAny.cs
- TreeView.cs
- StringPropertyBuilder.cs
- XmlSchemaValidationException.cs
- EvidenceTypeDescriptor.cs
- SubMenuStyle.cs
- TypeBuilderInstantiation.cs
- StylusPointDescription.cs
- StaticFileHandler.cs
- Util.cs
- DataMember.cs
- MarshalByRefObject.cs
- ProxyManager.cs
- CommonGetThemePartSize.cs
- RequestQueue.cs
- TimeManager.cs
- SystemIcons.cs
- PolicyManager.cs
- StyleModeStack.cs
- OdbcConnection.cs
- BrowserCapabilitiesCodeGenerator.cs
- TriState.cs
- PersonalizationStateInfo.cs
- CommandEventArgs.cs
- HorizontalAlignConverter.cs