Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Hosting / SimpleApplicationHost.cs / 3 / 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 ( 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartMovingEventArgs.cs
- BinaryObjectReader.cs
- ValueOfAction.cs
- CancellationHandlerDesigner.cs
- DeploymentSection.cs
- MatrixTransform.cs
- BitmapEffectCollection.cs
- ReplyChannelBinder.cs
- ConnectionStringSettingsCollection.cs
- ButtonBase.cs
- SoapProtocolImporter.cs
- OdbcTransaction.cs
- SqlDataSourceWizardForm.cs
- DateTimeValueSerializerContext.cs
- AdornerDecorator.cs
- ListBoxItemAutomationPeer.cs
- OperandQuery.cs
- IsolatedStorage.cs
- JournalEntryListConverter.cs
- UrlParameterReader.cs
- FunctionDetailsReader.cs
- TextEditorCopyPaste.cs
- XPathDescendantIterator.cs
- ListViewTableRow.cs
- DataGridViewLinkCell.cs
- SiteMapDataSourceView.cs
- ManipulationPivot.cs
- WebEvents.cs
- AttributeData.cs
- ScrollEventArgs.cs
- GradientBrush.cs
- BulletChrome.cs
- DataControlImageButton.cs
- SymLanguageVendor.cs
- XmlSchemaInferenceException.cs
- unitconverter.cs
- XmlTextReaderImpl.cs
- DynamicMethod.cs
- Vector3DCollection.cs
- FormatVersion.cs
- Compilation.cs
- StructuralObject.cs
- UserPersonalizationStateInfo.cs
- SQLRoleProvider.cs
- OdbcEnvironmentHandle.cs
- PrtTicket_Base.cs
- SecurityPermission.cs
- BitmapEffectDrawingContent.cs
- KeyPressEvent.cs
- ScriptControlDescriptor.cs
- DbConnectionPoolGroupProviderInfo.cs
- XPathBinder.cs
- StateMachineSubscription.cs
- DBNull.cs
- GlyphRunDrawing.cs
- CompilerResults.cs
- WindowsTokenRoleProvider.cs
- InputProcessorProfiles.cs
- ViewKeyConstraint.cs
- TextSearch.cs
- DataGridViewUtilities.cs
- DelegatedStream.cs
- Compilation.cs
- HttpModulesInstallComponent.cs
- DynamicPropertyHolder.cs
- GridSplitterAutomationPeer.cs
- ipaddressinformationcollection.cs
- SchemaCollectionPreprocessor.cs
- CanonicalFontFamilyReference.cs
- CssStyleCollection.cs
- OLEDB_Util.cs
- ProfileManager.cs
- EntityProviderServices.cs
- WhileDesigner.xaml.cs
- QuerySettings.cs
- PreDigestedSignedInfo.cs
- OptimizedTemplateContent.cs
- SQLByteStorage.cs
- ScrollBarRenderer.cs
- XmlSigningNodeWriter.cs
- BaseTemplateBuildProvider.cs
- Encoder.cs
- RoleManagerModule.cs
- FrameDimension.cs
- MailAddressCollection.cs
- CookieParameter.cs
- Html32TextWriter.cs
- LinkUtilities.cs
- ReliableMessagingVersion.cs
- ColorBuilder.cs
- ThousandthOfEmRealDoubles.cs
- CodeMethodInvokeExpression.cs
- Types.cs
- UnknownWrapper.cs
- XmlMembersMapping.cs
- UTF8Encoding.cs
- Command.cs
- EventData.cs
- ConversionContext.cs
- TextDecorations.cs