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
- ChannelSinkStacks.cs
- GPPOINTF.cs
- Mapping.cs
- MemoryStream.cs
- UInt32.cs
- Material.cs
- MenuEventArgs.cs
- ImageSourceValueSerializer.cs
- Shape.cs
- LinearQuaternionKeyFrame.cs
- NavigationCommands.cs
- RoleGroup.cs
- DataTableTypeConverter.cs
- Model3D.cs
- XPathNodeIterator.cs
- IndicShape.cs
- WebBrowserPermission.cs
- RectangleF.cs
- Helpers.cs
- ConnectionStringSettingsCollection.cs
- BlurBitmapEffect.cs
- WebPartConnectionsConnectVerb.cs
- TrackingLocationCollection.cs
- SafeEventLogReadHandle.cs
- SemanticResolver.cs
- OutputCacheModule.cs
- _Connection.cs
- HWStack.cs
- ProfilePropertyMetadata.cs
- ScriptingWebServicesSectionGroup.cs
- FeatureSupport.cs
- StaticFileHandler.cs
- BuilderInfo.cs
- DataServiceRequestException.cs
- UserUseLicenseDictionaryLoader.cs
- BufferAllocator.cs
- KeyMatchBuilder.cs
- Config.cs
- CodeAttributeDeclarationCollection.cs
- OrCondition.cs
- WebPartVerbCollection.cs
- SpecularMaterial.cs
- WebControl.cs
- ImageInfo.cs
- RealizationContext.cs
- RefreshResponseInfo.cs
- ObfuscationAttribute.cs
- SystemPens.cs
- TraceHandler.cs
- Error.cs
- COMException.cs
- wgx_exports.cs
- DataServiceQueryProvider.cs
- ControlBuilderAttribute.cs
- ISFClipboardData.cs
- InteropTrackingRecord.cs
- DependsOnAttribute.cs
- CmsInterop.cs
- ComEventsHelper.cs
- FigureParaClient.cs
- CodeDefaultValueExpression.cs
- WindowsTokenRoleProvider.cs
- TargetInvocationException.cs
- ConnectionManagementElementCollection.cs
- BooleanFunctions.cs
- MenuItemStyle.cs
- X500Name.cs
- XmlILStorageConverter.cs
- NetTcpBindingCollectionElement.cs
- WebSysDefaultValueAttribute.cs
- TableFieldsEditor.cs
- OverrideMode.cs
- ASCIIEncoding.cs
- SchemaContext.cs
- SmiConnection.cs
- AnnotationHelper.cs
- ResourceCollectionInfo.cs
- BitmapMetadataBlob.cs
- SqlInternalConnectionTds.cs
- ListBase.cs
- DirectoryObjectSecurity.cs
- OracleMonthSpan.cs
- QilInvokeEarlyBound.cs
- ViewLoader.cs
- ReaderWriterLockWrapper.cs
- PersonalizationProviderCollection.cs
- DescendantQuery.cs
- TemplateBuilder.cs
- KeyMatchBuilder.cs
- ProcessThreadDesigner.cs
- FontSourceCollection.cs
- State.cs
- SqlVersion.cs
- PropertyConverter.cs
- propertytag.cs
- OperandQuery.cs
- DataGridViewLayoutData.cs
- UxThemeWrapper.cs
- BufferedReadStream.cs
- HttpVersion.cs