Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Hosting / SimpleApplicationHost.cs / 1305376 / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertySourceInfo.cs
- ParserOptions.cs
- PropertyGridEditorPart.cs
- SmiSettersStream.cs
- selecteditemcollection.cs
- QueryOptionExpression.cs
- InstanceKeyNotReadyException.cs
- CompositeScriptReferenceEventArgs.cs
- PkcsUtils.cs
- SerializationObjectManager.cs
- WindowsGraphicsCacheManager.cs
- XPathQueryGenerator.cs
- EventLogPermissionAttribute.cs
- EventProvider.cs
- MultilineStringConverter.cs
- ByteBufferPool.cs
- CultureMapper.cs
- URLIdentityPermission.cs
- BuildProviderCollection.cs
- DataRelationPropertyDescriptor.cs
- SpellerStatusTable.cs
- JavaScriptString.cs
- SQLRoleProvider.cs
- BitmapInitialize.cs
- SchemaNotation.cs
- PopupEventArgs.cs
- SmiSettersStream.cs
- QEncodedStream.cs
- ToolZone.cs
- OleDbDataAdapter.cs
- DummyDataSource.cs
- XmlSerializerImportOptions.cs
- SqlParameterCollection.cs
- QEncodedStream.cs
- panel.cs
- OpenTypeLayoutCache.cs
- ReadOnlyCollectionBuilder.cs
- MarkupWriter.cs
- CookielessHelper.cs
- CodeAssignStatement.cs
- XmlFormatExtensionPointAttribute.cs
- MetadataArtifactLoaderCompositeFile.cs
- DrawListViewSubItemEventArgs.cs
- UInt16.cs
- MenuItemCollectionEditorDialog.cs
- SafeNativeMethods.cs
- AutomationPattern.cs
- Window.cs
- ViewManagerAttribute.cs
- FieldNameLookup.cs
- KoreanLunisolarCalendar.cs
- AppDomainCompilerProxy.cs
- Assert.cs
- OleDbSchemaGuid.cs
- ResourceProperty.cs
- ListBoxItemWrapperAutomationPeer.cs
- NameValueConfigurationElement.cs
- UnionCqlBlock.cs
- UIHelper.cs
- _RequestLifetimeSetter.cs
- AspProxy.cs
- DataBoundControlAdapter.cs
- XmlIlTypeHelper.cs
- MaterialGroup.cs
- CodePageEncoding.cs
- SoapObjectReader.cs
- DataViewListener.cs
- WebControl.cs
- RequestCache.cs
- EventProviderClassic.cs
- XmlTextReaderImpl.cs
- NativeMethods.cs
- SharedStatics.cs
- NetworkInformationPermission.cs
- ValidationSummaryDesigner.cs
- SectionVisual.cs
- TypefaceMap.cs
- XPathAncestorIterator.cs
- ClientSponsor.cs
- AuditLog.cs
- ExpressionReplacer.cs
- CellPartitioner.cs
- LongValidatorAttribute.cs
- GridViewRow.cs
- Misc.cs
- NativeMethods.cs
- PowerEase.cs
- WindowsTitleBar.cs
- ContentElement.cs
- DataGridViewCellValidatingEventArgs.cs
- SynchronizationContextHelper.cs
- GatewayDefinition.cs
- CacheEntry.cs
- NullToBooleanConverter.cs
- FixedDSBuilder.cs
- MarkupWriter.cs
- SqlTypesSchemaImporter.cs
- PtsPage.cs
- SoapServerMethod.cs
- PerformanceCounterCategory.cs