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
- InvokePatternIdentifiers.cs
- TextRangeEditLists.cs
- ListViewDataItem.cs
- DataGridHeaderBorder.cs
- XmlEnumAttribute.cs
- SqlReferenceCollection.cs
- ImageBrush.cs
- ContextBase.cs
- XhtmlTextWriter.cs
- ToolStripScrollButton.cs
- NaturalLanguageHyphenator.cs
- XsdDataContractExporter.cs
- AuthenticationModuleElementCollection.cs
- SingleConverter.cs
- BlockingCollection.cs
- RowToFieldTransformer.cs
- RegisteredScript.cs
- LinkDescriptor.cs
- InfoCardSymmetricAlgorithm.cs
- DateTimeSerializationSection.cs
- Transform.cs
- PassportIdentity.cs
- RoutedEventConverter.cs
- DataRecordInternal.cs
- Run.cs
- validationstate.cs
- DetailsViewRowCollection.cs
- ItemPager.cs
- ButtonBase.cs
- ListenerConstants.cs
- MenuItemBindingCollection.cs
- entityreference_tresulttype.cs
- ReferenceSchema.cs
- AttributedMetaModel.cs
- TransactionManagerProxy.cs
- infer.cs
- SyndicationDeserializer.cs
- ControlTemplate.cs
- GetImportedCardRequest.cs
- IntegrationExceptionEventArgs.cs
- StrongNameKeyPair.cs
- TrackingServices.cs
- SiblingIterators.cs
- DriveInfo.cs
- _NestedMultipleAsyncResult.cs
- MissingSatelliteAssemblyException.cs
- ToolStripRendererSwitcher.cs
- Item.cs
- RelationshipEntry.cs
- AssemblyNameProxy.cs
- DataGridViewColumn.cs
- Scene3D.cs
- infer.cs
- CheckBox.cs
- TextRangeEditTables.cs
- RichTextBoxConstants.cs
- WebPartConnection.cs
- SoapReflectionImporter.cs
- ConfigXmlComment.cs
- SortDescription.cs
- Function.cs
- DataGridRowsPresenter.cs
- assemblycache.cs
- ProcessHost.cs
- TypeConverterHelper.cs
- FilteredSchemaElementLookUpTable.cs
- MethodSignatureGenerator.cs
- PolicyValidationException.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- OutputCacheProfile.cs
- MenuItem.cs
- DataGridViewRowHeaderCell.cs
- ClrProviderManifest.cs
- ListCommandEventArgs.cs
- CatalogZone.cs
- OleDbConnection.cs
- HMACSHA384.cs
- BoundPropertyEntry.cs
- DataGridViewCellStyle.cs
- UIHelper.cs
- TransformValueSerializer.cs
- TemplateControlParser.cs
- PageContentCollection.cs
- Screen.cs
- ChangeProcessor.cs
- sqlnorm.cs
- UIElementCollection.cs
- MaterialGroup.cs
- SystemUdpStatistics.cs
- FlowLayout.cs
- Types.cs
- DynamicExpression.cs
- CmsUtils.cs
- printdlgexmarshaler.cs
- XhtmlTextWriter.cs
- CallTemplateAction.cs
- NavigatorInput.cs
- RemotingConfigParser.cs
- DataIdProcessor.cs
- counter.cs