Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / PageHandlerFactory.cs / 2 / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UserThread.cs
- SqlVisitor.cs
- HandlerWithFactory.cs
- LogicalExpressionTypeConverter.cs
- ObfuscationAttribute.cs
- DocumentPageTextView.cs
- RuntimeIdentifierPropertyAttribute.cs
- SettingsProperty.cs
- HybridObjectCache.cs
- ForeignKeyConstraint.cs
- EventDescriptorCollection.cs
- PageRequestManager.cs
- FieldToken.cs
- GlyphCache.cs
- EntityDataSourceContextCreatedEventArgs.cs
- DateTimeHelper.cs
- DataSetUtil.cs
- ScrollChrome.cs
- BasicCommandTreeVisitor.cs
- DesignerActionUIService.cs
- _ShellExpression.cs
- DESCryptoServiceProvider.cs
- ImageSource.cs
- ListViewCommandEventArgs.cs
- WindowsSolidBrush.cs
- PenLineJoinValidation.cs
- PropertyKey.cs
- EnumerableRowCollectionExtensions.cs
- SqlCommandSet.cs
- PhoneCallDesigner.cs
- MenuItem.cs
- DataRelationCollection.cs
- UIPermission.cs
- HierarchicalDataSourceDesigner.cs
- ObjectManager.cs
- CompositeScriptReferenceEventArgs.cs
- InvalidProgramException.cs
- CapabilitiesUse.cs
- ServiceErrorHandler.cs
- GifBitmapDecoder.cs
- WebPartTracker.cs
- PersistNameAttribute.cs
- MemberPath.cs
- ButtonRenderer.cs
- Int32Converter.cs
- ComUdtElementCollection.cs
- AtomParser.cs
- ComponentResourceKey.cs
- Point.cs
- GlobalAllocSafeHandle.cs
- FixedSOMTable.cs
- PolyLineSegmentFigureLogic.cs
- ObjectQueryState.cs
- NetNamedPipeSecurityElement.cs
- DigitShape.cs
- SqlBuffer.cs
- StateChangeEvent.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- XmlSchemaAttributeGroupRef.cs
- DataBoundControl.cs
- SecurityTraceRecordHelper.cs
- OpenTypeLayout.cs
- Translator.cs
- CounterSampleCalculator.cs
- ToolStripItemDesigner.cs
- ControlCachePolicy.cs
- Storyboard.cs
- SystemWebExtensionsSectionGroup.cs
- AssociationEndMember.cs
- RangeValuePatternIdentifiers.cs
- AudioBase.cs
- Stroke2.cs
- VideoDrawing.cs
- GatewayDefinition.cs
- ClientUrlResolverWrapper.cs
- LocatorGroup.cs
- FakeModelPropertyImpl.cs
- WorkflowInstanceExtensionCollection.cs
- SafeSecurityHandles.cs
- SettingsBindableAttribute.cs
- EditorZoneBase.cs
- SerializationFieldInfo.cs
- RemotingSurrogateSelector.cs
- DynamicPropertyReader.cs
- SetIterators.cs
- HttpCapabilitiesBase.cs
- WebControlsSection.cs
- PersistenceTypeAttribute.cs
- SqlConnectionManager.cs
- SharedUtils.cs
- WindowsListViewItem.cs
- UnsafeCollabNativeMethods.cs
- DocumentSequenceHighlightLayer.cs
- TabItemAutomationPeer.cs
- SiteMapNodeItem.cs
- ValuePattern.cs
- EllipseGeometry.cs
- PeerInvitationResponse.cs
- TextSimpleMarkerProperties.cs
- PasswordRecovery.cs