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
- SafeLocalAllocation.cs
- SpellerError.cs
- SQLDecimalStorage.cs
- TransformGroup.cs
- StorageRoot.cs
- OracleDataAdapter.cs
- DataBinder.cs
- FrameSecurityDescriptor.cs
- PresentationAppDomainManager.cs
- FileDialogCustomPlacesCollection.cs
- RequestCachePolicy.cs
- StyleXamlParser.cs
- SequenceNumber.cs
- XmlSchemaComplexContent.cs
- UInt16Converter.cs
- DataGridViewImageCell.cs
- StatusBarDesigner.cs
- Image.cs
- LinqDataSourceInsertEventArgs.cs
- CompilerErrorCollection.cs
- BitVector32.cs
- UIElementAutomationPeer.cs
- ColorConvertedBitmap.cs
- Timer.cs
- XmlTextWriter.cs
- DictionaryManager.cs
- AppDomainProtocolHandler.cs
- GPRECTF.cs
- InputElement.cs
- SqlClientMetaDataCollectionNames.cs
- WebServiceFault.cs
- AsnEncodedData.cs
- PasswordRecovery.cs
- UriScheme.cs
- EvidenceTypeDescriptor.cs
- ToolBarPanel.cs
- SessionEndedEventArgs.cs
- DBConcurrencyException.cs
- DiscoveryReference.cs
- DynamicActivity.cs
- IPCCacheManager.cs
- MultipleViewProviderWrapper.cs
- RectangleHotSpot.cs
- OdbcError.cs
- ApplicationDirectory.cs
- DbConnectionPoolOptions.cs
- ErasingStroke.cs
- CaseExpr.cs
- AlgoModule.cs
- TextFindEngine.cs
- SiteMapNodeItemEventArgs.cs
- ProxyGenerationError.cs
- ConfigurationFileMap.cs
- PackagePart.cs
- WebPartDescription.cs
- ResourceDescriptionAttribute.cs
- ZipQueryOperator.cs
- XPathScanner.cs
- DocumentReferenceCollection.cs
- SoapMessage.cs
- ConsoleTraceListener.cs
- SecurityCriticalDataForSet.cs
- PriorityChain.cs
- SqlInternalConnectionSmi.cs
- DocumentViewerAutomationPeer.cs
- InvalidFilterCriteriaException.cs
- DelegatedStream.cs
- PkcsMisc.cs
- StickyNoteAnnotations.cs
- UnauthorizedAccessException.cs
- BitArray.cs
- AutomationElement.cs
- Literal.cs
- OrthographicCamera.cs
- WebPartConnectionsDisconnectVerb.cs
- Parser.cs
- LinearKeyFrames.cs
- GotoExpression.cs
- Filter.cs
- SimpleType.cs
- FrameworkEventSource.cs
- TextDpi.cs
- DoubleStorage.cs
- TextSelection.cs
- DesignTableCollection.cs
- WebPartConnectionsConfigureVerb.cs
- SQLBinary.cs
- StaticExtensionConverter.cs
- DataGridViewCellEventArgs.cs
- AnnotationDocumentPaginator.cs
- EdgeModeValidation.cs
- AppDomainUnloadedException.cs
- Coordinator.cs
- QueryCacheManager.cs
- PowerStatus.cs
- CircleHotSpot.cs
- GridViewEditEventArgs.cs
- XMLSchema.cs
- ServiceDesigner.xaml.cs
- documentsequencetextcontainer.cs