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
- GenericUriParser.cs
- TimeZone.cs
- Fonts.cs
- WindowsSysHeader.cs
- XamlBrushSerializer.cs
- UIElement.cs
- DurableEnlistmentState.cs
- RenderTargetBitmap.cs
- SubpageParagraph.cs
- ReadOnlyKeyedCollection.cs
- AttributeProviderAttribute.cs
- ListBoxItem.cs
- DataBoundControlAdapter.cs
- ParameterToken.cs
- QilXmlReader.cs
- StylusOverProperty.cs
- VBCodeProvider.cs
- Graphics.cs
- Splitter.cs
- Hex.cs
- StsCommunicationException.cs
- TimeIntervalCollection.cs
- FixedFlowMap.cs
- TextInfo.cs
- BooleanAnimationBase.cs
- GenericRootAutomationPeer.cs
- SpellerError.cs
- Registry.cs
- WebBrowsableAttribute.cs
- TextSpan.cs
- BaseTemplateBuildProvider.cs
- DataRecordObjectView.cs
- PageContentCollection.cs
- TableLayoutSettings.cs
- ErrorHandlingReceiver.cs
- WorkerRequest.cs
- SqlNodeTypeOperators.cs
- TextMetrics.cs
- UIPermission.cs
- MSAAEventDispatcher.cs
- FrameworkPropertyMetadata.cs
- Stack.cs
- TdsRecordBufferSetter.cs
- ResourceReader.cs
- SyndicationElementExtensionCollection.cs
- ElementNotAvailableException.cs
- mda.cs
- NavigationFailedEventArgs.cs
- InputQueueChannelAcceptor.cs
- StatusBarPanel.cs
- StrokeFIndices.cs
- ResXResourceReader.cs
- ActivityInterfaces.cs
- SerializerDescriptor.cs
- StaticTextPointer.cs
- StringConverter.cs
- GuidelineCollection.cs
- CatalogZoneAutoFormat.cs
- UdpDiscoveryEndpointProvider.cs
- ProtocolException.cs
- TextEditorSpelling.cs
- contentDescriptor.cs
- XmlSchemaException.cs
- MaskedTextProvider.cs
- KeyValuePairs.cs
- UTF32Encoding.cs
- StyleCollection.cs
- ScriptingJsonSerializationSection.cs
- IfAction.cs
- TreeViewEvent.cs
- PingOptions.cs
- WebPartDeleteVerb.cs
- PropertySet.cs
- DataControlFieldTypeEditor.cs
- WorkflowLayouts.cs
- Quad.cs
- ColumnClickEvent.cs
- SoapAttributeOverrides.cs
- ListDictionaryInternal.cs
- DeploymentExceptionMapper.cs
- NavigateUrlConverter.cs
- XmlDataSourceView.cs
- FixedSOMTable.cs
- EventToken.cs
- XslVisitor.cs
- Trace.cs
- Rule.cs
- Wildcard.cs
- AQNBuilder.cs
- serverconfig.cs
- Classification.cs
- PenThread.cs
- EmptyEnumerator.cs
- TextViewBase.cs
- SudsParser.cs
- Predicate.cs
- FileDialogCustomPlacesCollection.cs
- SqlRecordBuffer.cs
- TableRow.cs
- SimpleMailWebEventProvider.cs