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
- DirectoryObjectSecurity.cs
- NullReferenceException.cs
- EditCommandColumn.cs
- SerializationStore.cs
- QueryResponse.cs
- IEnumerable.cs
- ServiceDescriptionData.cs
- CounterCreationData.cs
- GridViewSortEventArgs.cs
- OAVariantLib.cs
- SQLInt32Storage.cs
- DoubleLinkListEnumerator.cs
- WindowsGrip.cs
- DirectoryObjectSecurity.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- WsdlInspector.cs
- WebPartExportVerb.cs
- TextEndOfSegment.cs
- CharAnimationBase.cs
- SqlClientFactory.cs
- CapabilitiesRule.cs
- HttpRuntimeSection.cs
- DuplexChannel.cs
- XsltContext.cs
- RuntimeIdentifierPropertyAttribute.cs
- CompositeScriptReference.cs
- SevenBitStream.cs
- OleDbInfoMessageEvent.cs
- OutputScopeManager.cs
- MatrixTransform3D.cs
- IList.cs
- ContextMenu.cs
- AutoResizedEvent.cs
- QueryOutputWriter.cs
- ListViewTableCell.cs
- WindowHideOrCloseTracker.cs
- ObjectView.cs
- HandleScope.cs
- CodeAccessSecurityEngine.cs
- SelectionProcessor.cs
- UriGenerator.cs
- Compiler.cs
- PropertyDescriptorComparer.cs
- ToolStripItemTextRenderEventArgs.cs
- ImageField.cs
- ButtonColumn.cs
- DataGridViewImageColumn.cs
- ResourcePart.cs
- Panel.cs
- MemberInfoSerializationHolder.cs
- ChangesetResponse.cs
- Part.cs
- DrawingAttributes.cs
- MemberMaps.cs
- Parser.cs
- DataProtection.cs
- Calendar.cs
- RepeatEnumerable.cs
- DoubleUtil.cs
- DetailsViewDeletedEventArgs.cs
- UidManager.cs
- DecimalConverter.cs
- TextFormatterHost.cs
- OleDbInfoMessageEvent.cs
- ContextQuery.cs
- BooleanSwitch.cs
- ValidatedControlConverter.cs
- SvcMapFile.cs
- XamlTemplateSerializer.cs
- TextTreeTextBlock.cs
- SoapElementAttribute.cs
- XmlNodeList.cs
- WebConfigurationHostFileChange.cs
- SessionStateUtil.cs
- CodeTypeDeclaration.cs
- DataGridBoolColumn.cs
- DataGridViewColumnEventArgs.cs
- DataRowComparer.cs
- BooleanConverter.cs
- SecurityTokenAttachmentMode.cs
- SqlDelegatedTransaction.cs
- PageContent.cs
- WithParamAction.cs
- MultiSelector.cs
- ResXResourceReader.cs
- InkCanvasInnerCanvas.cs
- DateTimeOffsetStorage.cs
- ControlParameter.cs
- WinEventTracker.cs
- InputScopeManager.cs
- PackageFilter.cs
- EmbeddedMailObjectsCollection.cs
- FontStyleConverter.cs
- UnsafeNativeMethods.cs
- ConfigurationPropertyAttribute.cs
- AsymmetricSignatureDeformatter.cs
- CheckBox.cs
- Journal.cs
- DeferredReference.cs
- LayoutSettings.cs