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
- XmlSchemaComplexContent.cs
- Journal.cs
- StyleBamlRecordReader.cs
- StreamingContext.cs
- EntryWrittenEventArgs.cs
- CultureInfoConverter.cs
- BigInt.cs
- ComponentDispatcher.cs
- CollectionBuilder.cs
- TextCompositionEventArgs.cs
- RelationshipDetailsRow.cs
- SharedDp.cs
- ObjectNotFoundException.cs
- ZipIOFileItemStream.cs
- StrongTypingException.cs
- TextBoxAutoCompleteSourceConverter.cs
- HeaderedContentControl.cs
- SessionState.cs
- infer.cs
- SchemaConstraints.cs
- NavigationPropertyEmitter.cs
- ActivationServices.cs
- BinaryObjectWriter.cs
- UnsafeNativeMethods.cs
- WebBaseEventKeyComparer.cs
- KnownBoxes.cs
- ThreadExceptionDialog.cs
- ThicknessConverter.cs
- StringUtil.cs
- AppDomainProtocolHandler.cs
- InfoCardRSACryptoProvider.cs
- Drawing.cs
- CryptoProvider.cs
- VirtualPathUtility.cs
- MinimizableAttributeTypeConverter.cs
- DriveNotFoundException.cs
- Size3DConverter.cs
- PerformanceCounter.cs
- ZipIOCentralDirectoryFileHeader.cs
- TextCompositionManager.cs
- PolygonHotSpot.cs
- ReaderWriterLockWrapper.cs
- SizeAnimationBase.cs
- TripleDES.cs
- DataSourceCacheDurationConverter.cs
- SqlFacetAttribute.cs
- recordstatescratchpad.cs
- IssuedTokenServiceCredential.cs
- RegexCharClass.cs
- IMembershipProvider.cs
- TransformerConfigurationWizardBase.cs
- SafeRightsManagementQueryHandle.cs
- TraceContextRecord.cs
- XmlDataLoader.cs
- DataControlImageButton.cs
- ThemeDictionaryExtension.cs
- QilNode.cs
- WebPartMovingEventArgs.cs
- Stack.cs
- FunctionNode.cs
- IntSecurity.cs
- InlineObject.cs
- HttpListenerResponse.cs
- DataGridViewControlCollection.cs
- Stack.cs
- Evaluator.cs
- FontUnit.cs
- EventItfInfo.cs
- DecimalAnimationUsingKeyFrames.cs
- QilTargetType.cs
- ToolStripItemRenderEventArgs.cs
- EventLogQuery.cs
- __TransparentProxy.cs
- WindowsListViewItem.cs
- GetPageCompletedEventArgs.cs
- NoneExcludedImageIndexConverter.cs
- PropertyInformationCollection.cs
- Model3DCollection.cs
- HybridWebProxyFinder.cs
- ObjectManager.cs
- TraceSection.cs
- ChangeInterceptorAttribute.cs
- DbConnectionStringBuilder.cs
- peernodestatemanager.cs
- LocalValueEnumerator.cs
- ViewCellSlot.cs
- BitmapEffectInputConnector.cs
- WebServiceParameterData.cs
- TableLayoutPanelCellPosition.cs
- InternalCache.cs
- BitHelper.cs
- WeakHashtable.cs
- ListViewItem.cs
- DiscoveryClientReferences.cs
- EditorBrowsableAttribute.cs
- ConfigurationValues.cs
- NameValueFileSectionHandler.cs
- ExternalFile.cs
- SystemEvents.cs
- ErrorTableItemStyle.cs