Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / PageHandlerFactory.cs / 4 / PageHandlerFactory.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Handler Factory implementation for Page files * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.UI { using System.Runtime.Serialization.Formatters; using System.IO; using System.Security.Permissions; using System.Web.Compilation; using System.Web.Util; using Debug=System.Web.Util.Debug; /* * Handler Factory implementation for ASP.NET files */ [PermissionSet(SecurityAction.LinkDemand, Unrestricted = true)] [PermissionSet(SecurityAction.InheritanceDemand, Unrestricted=true)] public class PageHandlerFactory : IHttpHandlerFactory2 { private bool _isInheritedInstance; protected internal PageHandlerFactory() { // Check whether this is the exact PageHandlerFactory, or a derived class _isInheritedInstance = (GetType() != typeof(PageHandlerFactory)); } public virtual IHttpHandler GetHandler(HttpContext context, string requestType, string virtualPath, string path) { Debug.Trace("PageHandlerFactory", "PageHandlerFactory: " + virtualPath); // This should never get called in ISAPI mode but currently is in integrated mode // Debug.Assert(false); return GetHandlerHelper(context, requestType, VirtualPath.CreateNonRelative(virtualPath), path); } IHttpHandler IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) { // If it's a derived class, we must call the old (less efficient) GetHandler, in // case it was overriden if (_isInheritedInstance) { return GetHandler(context, requestType, virtualPath.VirtualPathString, physicalPath); } return GetHandlerHelper(context, requestType, virtualPath, physicalPath); } public virtual void ReleaseHandler(IHttpHandler handler) { } private IHttpHandler GetHandlerHelper(HttpContext context, string requestType, VirtualPath virtualPath, string physicalPath) { Page page = BuildManager.CreateInstanceFromVirtualPath( virtualPath, typeof(Page), context, true /*allowCrossApp*/, true /*noAssert*/) as Page; if (page == null) return null; page.TemplateControlVirtualPath = virtualPath; return page; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Handler Factory implementation for Page files * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.UI { using System.Runtime.Serialization.Formatters; using System.IO; using System.Security.Permissions; using System.Web.Compilation; using System.Web.Util; using Debug=System.Web.Util.Debug; /* * Handler Factory implementation for ASP.NET files */ [PermissionSet(SecurityAction.LinkDemand, Unrestricted = true)] [PermissionSet(SecurityAction.InheritanceDemand, Unrestricted=true)] public class PageHandlerFactory : IHttpHandlerFactory2 { private bool _isInheritedInstance; protected internal PageHandlerFactory() { // Check whether this is the exact PageHandlerFactory, or a derived class _isInheritedInstance = (GetType() != typeof(PageHandlerFactory)); } public virtual IHttpHandler GetHandler(HttpContext context, string requestType, string virtualPath, string path) { Debug.Trace("PageHandlerFactory", "PageHandlerFactory: " + virtualPath); // This should never get called in ISAPI mode but currently is in integrated mode // Debug.Assert(false); return GetHandlerHelper(context, requestType, VirtualPath.CreateNonRelative(virtualPath), path); } IHttpHandler IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) { // If it's a derived class, we must call the old (less efficient) GetHandler, in // case it was overriden if (_isInheritedInstance) { return GetHandler(context, requestType, virtualPath.VirtualPathString, physicalPath); } return GetHandlerHelper(context, requestType, virtualPath, physicalPath); } public virtual void ReleaseHandler(IHttpHandler handler) { } private IHttpHandler GetHandlerHelper(HttpContext context, string requestType, VirtualPath virtualPath, string physicalPath) { Page page = BuildManager.CreateInstanceFromVirtualPath( virtualPath, typeof(Page), context, true /*allowCrossApp*/, true /*noAssert*/) as Page; if (page == null) return null; page.TemplateControlVirtualPath = virtualPath; return page; } } } // 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
- SystemIPInterfaceStatistics.cs
- FlowNode.cs
- Utils.cs
- NameHandler.cs
- ServicePerformanceCounters.cs
- ContextStaticAttribute.cs
- ObjectParameterCollection.cs
- XmlDataDocument.cs
- PackageRelationshipSelector.cs
- ToolboxBitmapAttribute.cs
- HwndSourceKeyboardInputSite.cs
- DataGridItemCollection.cs
- HMACSHA1.cs
- PackageRelationshipCollection.cs
- WindowsListViewGroupHelper.cs
- RolePrincipal.cs
- ItemsPresenter.cs
- HandlerFactoryWrapper.cs
- SplashScreenNativeMethods.cs
- AsnEncodedData.cs
- HttpApplication.cs
- WebPartDisplayModeCollection.cs
- CodeTypeParameterCollection.cs
- WriteTimeStream.cs
- PagerSettings.cs
- MenuItem.cs
- ZipIOExtraFieldZip64Element.cs
- Transform3DCollection.cs
- MethodExpression.cs
- StylusPointCollection.cs
- TextOptionsInternal.cs
- WindowCollection.cs
- PerformanceCounterCategory.cs
- OleDbRowUpdatingEvent.cs
- XmlILIndex.cs
- SystemColors.cs
- SmiGettersStream.cs
- DataListCommandEventArgs.cs
- LeaseManager.cs
- RotateTransform.cs
- HttpListenerTimeoutManager.cs
- ProxySimple.cs
- EventArgs.cs
- EventLog.cs
- CalendarTable.cs
- FileUtil.cs
- GroupByExpressionRewriter.cs
- CmsUtils.cs
- AmbientLight.cs
- DescendantBaseQuery.cs
- TreeNodeStyleCollectionEditor.cs
- TracePayload.cs
- TimeSpanMinutesConverter.cs
- SmiContext.cs
- ZipIOExtraFieldElement.cs
- Int64Storage.cs
- WeakEventTable.cs
- BufferModeSettings.cs
- ConfigurationSectionCollection.cs
- IssuedTokenServiceCredential.cs
- AlphaSortedEnumConverter.cs
- RoleBoolean.cs
- Region.cs
- ButtonField.cs
- DataGridViewCellMouseEventArgs.cs
- SessionState.cs
- ObjectSecurity.cs
- Vector.cs
- Rectangle.cs
- BoolExpressionVisitors.cs
- JsonReader.cs
- HTTPNotFoundHandler.cs
- JapaneseCalendar.cs
- XmlSerializableWriter.cs
- XmlNamespaceDeclarationsAttribute.cs
- PropertyReferenceSerializer.cs
- WizardPanel.cs
- TableLayoutPanel.cs
- TreePrinter.cs
- Pipe.cs
- URI.cs
- ToolStripLabel.cs
- ValidationSummary.cs
- SafeRightsManagementEnvironmentHandle.cs
- ProcessManager.cs
- RelatedCurrencyManager.cs
- _IPv6Address.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- SoapEnumAttribute.cs
- ScrollItemProviderWrapper.cs
- GreenMethods.cs
- mongolianshape.cs
- XmlDataProvider.cs
- FigureParagraph.cs
- EdmToObjectNamespaceMap.cs
- GridViewDeleteEventArgs.cs
- ListSortDescription.cs
- Timer.cs
- ConfigurationPermission.cs
- MemoryStream.cs