Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Hosting / SimpleApplicationHost.cs / 1 / 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. //------------------------------------------------------------------------------ //// 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
- RelationshipEndMember.cs
- WebDescriptionAttribute.cs
- WmlValidatorAdapter.cs
- ToolStripDesigner.cs
- XmlArrayItemAttribute.cs
- CallbackValidator.cs
- DirectoryGroupQuery.cs
- AnnotationHelper.cs
- HttpModuleCollection.cs
- ErasingStroke.cs
- Error.cs
- DomNameTable.cs
- AutomationProperties.cs
- EdmToObjectNamespaceMap.cs
- ProxyManager.cs
- XmlValueConverter.cs
- PropertyChangedEventArgs.cs
- ModuleConfigurationInfo.cs
- Timer.cs
- HierarchicalDataBoundControlAdapter.cs
- DuplexChannelBinder.cs
- SoapExtensionTypeElementCollection.cs
- LabelAutomationPeer.cs
- XmlUrlResolver.cs
- Model3DGroup.cs
- SrgsElement.cs
- WorkflowItemPresenter.cs
- EtwTrace.cs
- DataControlFieldCell.cs
- SecurityUtils.cs
- DynamicMetaObjectBinder.cs
- ElementFactory.cs
- selecteditemcollection.cs
- TraceContext.cs
- WebPartDeleteVerb.cs
- DictionaryBase.cs
- ToolStripContentPanelRenderEventArgs.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- IdnElement.cs
- Triangle.cs
- ToolStripStatusLabel.cs
- XPathPatternParser.cs
- RegexMatchCollection.cs
- LineBreak.cs
- DataGridViewTopLeftHeaderCell.cs
- OciEnlistContext.cs
- OleDbMetaDataFactory.cs
- VersionedStream.cs
- DrawingState.cs
- SerializationHelper.cs
- WebDisplayNameAttribute.cs
- TextEditorCharacters.cs
- Mouse.cs
- WindowsFormsHelpers.cs
- EntityDataSourceReferenceGroup.cs
- DateTimeUtil.cs
- BrushConverter.cs
- GradientSpreadMethodValidation.cs
- NameValueSectionHandler.cs
- Atom10FormatterFactory.cs
- SortFieldComparer.cs
- XomlSerializationHelpers.cs
- FontFaceLayoutInfo.cs
- CompoundFileStreamReference.cs
- TdsRecordBufferSetter.cs
- LassoSelectionBehavior.cs
- SafeArrayRankMismatchException.cs
- LineSegment.cs
- WaitHandleCannotBeOpenedException.cs
- UriScheme.cs
- ISAPIWorkerRequest.cs
- MessageBox.cs
- AssemblyAssociatedContentFileAttribute.cs
- WebPartTracker.cs
- HebrewCalendar.cs
- ConnectionStringsExpressionEditor.cs
- NativeCppClassAttribute.cs
- TableParaClient.cs
- Privilege.cs
- FixedStringLookup.cs
- TextBlockAutomationPeer.cs
- CdpEqualityComparer.cs
- TextClipboardData.cs
- JournalEntry.cs
- EntityReference.cs
- KnownColorTable.cs
- RegexRunnerFactory.cs
- VideoDrawing.cs
- UpWmlPageAdapter.cs
- OracleTimeSpan.cs
- FileDialog.cs
- CipherData.cs
- RuleConditionDialog.cs
- GridViewColumnCollection.cs
- CodeMemberProperty.cs
- GenericAuthenticationEventArgs.cs
- HttpFileCollectionWrapper.cs
- ImplicitInputBrush.cs
- SqlExpander.cs
- SettingsContext.cs