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
- BackgroundWorker.cs
- CssTextWriter.cs
- ChildTable.cs
- DataTableReaderListener.cs
- OpCodes.cs
- ThreadNeutralSemaphore.cs
- graph.cs
- ConfigurationPropertyCollection.cs
- EndpointConfigContainer.cs
- CheckBoxField.cs
- XmlFormatMapping.cs
- SpanIndex.cs
- FlowDocumentFormatter.cs
- DataGridViewCheckBoxColumn.cs
- DataObjectPastingEventArgs.cs
- VersionedStreamOwner.cs
- KeyConstraint.cs
- VariableExpressionConverter.cs
- ClientApiGenerator.cs
- NTAccount.cs
- DocumentSequence.cs
- RegexReplacement.cs
- uribuilder.cs
- ImageMetadata.cs
- HWStack.cs
- PackageRelationshipSelector.cs
- SplashScreenNativeMethods.cs
- FacetDescriptionElement.cs
- SystemDiagnosticsSection.cs
- GlyphCache.cs
- FormViewModeEventArgs.cs
- Point.cs
- XamlParser.cs
- DocumentDesigner.cs
- dsa.cs
- DataColumnPropertyDescriptor.cs
- ArgIterator.cs
- CatalogPartChrome.cs
- SplitterCancelEvent.cs
- Variant.cs
- AncestorChangedEventArgs.cs
- HtmlHistory.cs
- ImageDrawing.cs
- CounterSet.cs
- CodeDomSerializer.cs
- RecognizerStateChangedEventArgs.cs
- SerializerDescriptor.cs
- METAHEADER.cs
- JavaScriptSerializer.cs
- RawStylusInputReport.cs
- RelationshipType.cs
- Int32AnimationBase.cs
- MemoryFailPoint.cs
- UpDownBase.cs
- ImageListStreamer.cs
- OptimizerPatterns.cs
- ViewUtilities.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ToolStripControlHost.cs
- PointConverter.cs
- TypeBuilderInstantiation.cs
- BitmapFrameDecode.cs
- SchemaType.cs
- WebPartConnectionsDisconnectVerb.cs
- RoutingUtilities.cs
- BooleanFacetDescriptionElement.cs
- TagPrefixInfo.cs
- ResourceDictionary.cs
- AmbientLight.cs
- Int32EqualityComparer.cs
- AdRotator.cs
- ProtocolImporter.cs
- ManualWorkflowSchedulerService.cs
- WindowsAuthenticationModule.cs
- SqlMethodTransformer.cs
- AggregateNode.cs
- XmlQualifiedName.cs
- ActivityXRefPropertyEditor.cs
- ThrowHelper.cs
- DataGridViewRowPostPaintEventArgs.cs
- ControlAdapter.cs
- Size.cs
- SqlTriggerContext.cs
- SeparatorAutomationPeer.cs
- versioninfo.cs
- X509CertificateCollection.cs
- COSERVERINFO.cs
- TypeDescriptor.cs
- ProfileSettingsCollection.cs
- LockedHandleGlyph.cs
- TabControlAutomationPeer.cs
- XslVisitor.cs
- WinEventWrap.cs
- BitmapEncoder.cs
- MetadataItemEmitter.cs
- UnsafePeerToPeerMethods.cs
- AutoCompleteStringCollection.cs
- PixelFormat.cs
- ControlAdapter.cs
- wmiprovider.cs