Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / PageHandlerFactory.cs / 3 / 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. //------------------------------------------------------------------------------ //// 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ApplicationServiceManager.cs
- RepeatInfo.cs
- DataBindingCollectionConverter.cs
- SecureStringHasher.cs
- TemplateKey.cs
- ServiceDescription.cs
- NegatedCellConstant.cs
- DataObjectFieldAttribute.cs
- CodeDirectoryCompiler.cs
- LocationReferenceValue.cs
- AssemblyCache.cs
- SchemaEntity.cs
- MenuEventArgs.cs
- MinMaxParagraphWidth.cs
- Point3DCollection.cs
- ClientScriptManagerWrapper.cs
- Pens.cs
- CombinedTcpChannel.cs
- InfoCardProofToken.cs
- PixelShader.cs
- Quaternion.cs
- CutCopyPasteHelper.cs
- PlatformNotSupportedException.cs
- RuntimeHandles.cs
- CodeDelegateInvokeExpression.cs
- WindowsTab.cs
- ConnectionPoolRegistry.cs
- EUCJPEncoding.cs
- OledbConnectionStringbuilder.cs
- RequestQueue.cs
- Scene3D.cs
- OdbcConnectionPoolProviderInfo.cs
- XmlSerializationReader.cs
- BoundsDrawingContextWalker.cs
- CompoundFileStreamReference.cs
- XmlDataSourceDesigner.cs
- FormViewDeleteEventArgs.cs
- PropertyItem.cs
- SelectedCellsChangedEventArgs.cs
- ClientType.cs
- CommandValueSerializer.cs
- CanExecuteRoutedEventArgs.cs
- VScrollBar.cs
- xmlfixedPageInfo.cs
- WebBodyFormatMessageProperty.cs
- CodeAttachEventStatement.cs
- Literal.cs
- CookieHandler.cs
- CompoundFileIOPermission.cs
- SrgsGrammar.cs
- TemplateParser.cs
- VariantWrapper.cs
- ObjectDataSourceChooseTypePanel.cs
- AddInController.cs
- KnowledgeBase.cs
- WmlControlAdapter.cs
- ClaimComparer.cs
- ErrorWrapper.cs
- SupportingTokenProviderSpecification.cs
- WindowHelperService.cs
- PrimitiveDataContract.cs
- MulticastDelegate.cs
- FontStretch.cs
- PaintValueEventArgs.cs
- Helper.cs
- DrawingAttributesDefaultValueFactory.cs
- SharedPersonalizationStateInfo.cs
- Decimal.cs
- hebrewshape.cs
- MemberDomainMap.cs
- Assembly.cs
- WebMessageEncoderFactory.cs
- SID.cs
- OutputBuffer.cs
- XPathException.cs
- Profiler.cs
- PropertyInfo.cs
- BinaryMethodMessage.cs
- DocumentApplicationJournalEntry.cs
- XmlWellformedWriter.cs
- Wizard.cs
- FileDialogCustomPlaces.cs
- OpenFileDialog.cs
- SelectionService.cs
- TreeNodeStyleCollection.cs
- CodeBlockBuilder.cs
- TreeNodeBindingCollection.cs
- Compilation.cs
- WindowsUserNameCachingSecurityTokenAuthenticator.cs
- Brush.cs
- TCEAdapterGenerator.cs
- StrongNameUtility.cs
- DynamicPropertyReader.cs
- FilteredDataSetHelper.cs
- CqlErrorHelper.cs
- FormsAuthentication.cs
- GridSplitterAutomationPeer.cs
- CommentAction.cs
- WebMessageEncoderFactory.cs
- HtmlCalendarAdapter.cs