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
- OrderPreservingPipeliningSpoolingTask.cs
- VisualProxy.cs
- CheckBox.cs
- WasHttpModulesInstallComponent.cs
- Models.cs
- MenuItemStyleCollection.cs
- XmlEncodedRawTextWriter.cs
- WebPartVerbsEventArgs.cs
- ColorConverter.cs
- ClaimSet.cs
- ConstrainedDataObject.cs
- MediaElementAutomationPeer.cs
- CalloutQueueItem.cs
- WebPartMenu.cs
- VectorKeyFrameCollection.cs
- ExpressionBinding.cs
- ItemContainerProviderWrapper.cs
- IndexedGlyphRun.cs
- CharacterBuffer.cs
- HierarchicalDataBoundControlAdapter.cs
- CommonObjectSecurity.cs
- Trace.cs
- ColumnWidthChangedEvent.cs
- HtmlInputButton.cs
- RepeatButton.cs
- PinnedBufferMemoryStream.cs
- ToolStripPanel.cs
- IsolationInterop.cs
- MetabaseServerConfig.cs
- RoleManagerModule.cs
- SocketStream.cs
- Hashtable.cs
- NamespaceCollection.cs
- XamlVector3DCollectionSerializer.cs
- XmlDomTextWriter.cs
- baseaxisquery.cs
- SimpleHandlerFactory.cs
- PermissionRequestEvidence.cs
- EntityCommandExecutionException.cs
- translator.cs
- WindowsSpinner.cs
- ProcessModuleCollection.cs
- SiteMapNode.cs
- _BasicClient.cs
- ParameterRefs.cs
- BaseParagraph.cs
- XmlHierarchicalEnumerable.cs
- CriticalFinalizerObject.cs
- ResourcesGenerator.cs
- ObjectResult.cs
- PartialCachingAttribute.cs
- ContentIterators.cs
- Comparer.cs
- ProtectedUri.cs
- CriticalHandle.cs
- StrokeFIndices.cs
- __ConsoleStream.cs
- AudioDeviceOut.cs
- CalculatedColumn.cs
- CaretElement.cs
- Boolean.cs
- MetadataException.cs
- BindingCompleteEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- DataListCommandEventArgs.cs
- _LoggingObject.cs
- BitmapImage.cs
- KerberosReceiverSecurityToken.cs
- DtdParser.cs
- PageAsyncTaskManager.cs
- CommandConverter.cs
- RecommendedAsConfigurableAttribute.cs
- VideoDrawing.cs
- TimerEventSubscription.cs
- AnimatedTypeHelpers.cs
- SchemaTableColumn.cs
- IdentityHolder.cs
- AuthorizationRule.cs
- CalendarDateRangeChangingEventArgs.cs
- Brush.cs
- GenericTextProperties.cs
- CurrentChangedEventManager.cs
- TagMapInfo.cs
- XmlResolver.cs
- PersonalizationProvider.cs
- ObjectDataSourceView.cs
- Color.cs
- SafeRightsManagementHandle.cs
- HtmlPanelAdapter.cs
- ControlCommandSet.cs
- MenuItemAutomationPeer.cs
- TaskCanceledException.cs
- Config.cs
- WindowsListViewGroupHelper.cs
- XmlSerializerAssemblyAttribute.cs
- WindowManager.cs
- DesignerProperties.cs
- CodeNamespaceCollection.cs
- AsmxEndpointPickerExtension.cs
- BlurEffect.cs