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
- ImageAttributes.cs
- hwndwrapper.cs
- DataControlFieldCell.cs
- ImageResources.Designer.cs
- FormConverter.cs
- HTMLTagNameToTypeMapper.cs
- TypeLoadException.cs
- login.cs
- PackWebRequest.cs
- MessageSecurityVersionConverter.cs
- ListMarkerSourceInfo.cs
- TextParagraphCache.cs
- PenThreadPool.cs
- SupportingTokenChannel.cs
- EffectiveValueEntry.cs
- XmlEncApr2001.cs
- ExpressionCopier.cs
- ContextToken.cs
- EncoderNLS.cs
- PointAnimationClockResource.cs
- IndentTextWriter.cs
- KeyToListMap.cs
- ActiveXMessageFormatter.cs
- KnownAssemblyEntry.cs
- Marshal.cs
- FixedSOMGroup.cs
- initElementDictionary.cs
- ToolZone.cs
- TextFormattingConverter.cs
- GlyphTypeface.cs
- EntityCollectionChangedParams.cs
- SafeNativeMethodsMilCoreApi.cs
- EventLogPermission.cs
- SyndicationItem.cs
- PhysicalOps.cs
- XdrBuilder.cs
- TypedTableBaseExtensions.cs
- MarkerProperties.cs
- DataGridViewTextBoxColumn.cs
- LinqDataSourceEditData.cs
- DesignerVerb.cs
- PassportAuthenticationEventArgs.cs
- Column.cs
- ISFTagAndGuidCache.cs
- NavigationHelper.cs
- GridLength.cs
- ItemCollection.cs
- TextOutput.cs
- LinkClickEvent.cs
- TextSearch.cs
- Debug.cs
- BamlLocalizableResourceKey.cs
- ProtocolElementCollection.cs
- QuotedPrintableStream.cs
- QilInvokeLateBound.cs
- ValidationPropertyAttribute.cs
- TryExpression.cs
- DefaultTextStoreTextComposition.cs
- Util.cs
- ByteStream.cs
- LassoHelper.cs
- ParameterToken.cs
- FastEncoder.cs
- MimePart.cs
- BaseTemplateBuildProvider.cs
- User.cs
- PaintValueEventArgs.cs
- FreezableCollection.cs
- DataSourceCache.cs
- Authorization.cs
- ClientTargetCollection.cs
- DataGridViewComboBoxColumn.cs
- QilList.cs
- TextClipboardData.cs
- TypeDescriptionProviderAttribute.cs
- Effect.cs
- JoinSymbol.cs
- ToolboxItemCollection.cs
- RefType.cs
- BackgroundWorker.cs
- RoleManagerSection.cs
- DateTimeValueSerializerContext.cs
- DocComment.cs
- PerspectiveCamera.cs
- GifBitmapEncoder.cs
- XmlLoader.cs
- MaskedTextBoxTextEditor.cs
- InputScopeConverter.cs
- CommonGetThemePartSize.cs
- XmlQueryRuntime.cs
- CryptoProvider.cs
- TextControlDesigner.cs
- WinFormsSecurity.cs
- EdgeProfileValidation.cs
- _SafeNetHandles.cs
- OleDbWrapper.cs
- TableStyle.cs
- UnicodeEncoding.cs
- CriticalExceptions.cs
- GeneralTransformCollection.cs