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
- XMLSyntaxException.cs
- MediaContextNotificationWindow.cs
- RoleBoolean.cs
- XPathScanner.cs
- DbConnectionPoolIdentity.cs
- Rotation3DKeyFrameCollection.cs
- XmlSortKeyAccumulator.cs
- SchemaElementLookUpTable.cs
- DbConnectionPool.cs
- DesignTimeValidationFeature.cs
- DefaultValueTypeConverter.cs
- AutomationPropertyInfo.cs
- DataTableNewRowEvent.cs
- XmlSerializableServices.cs
- _TimerThread.cs
- StyleBamlTreeBuilder.cs
- ValidationResult.cs
- DataBoundControlHelper.cs
- DropShadowBitmapEffect.cs
- InputLangChangeEvent.cs
- CreatingCookieEventArgs.cs
- ErrorTableItemStyle.cs
- DeferredReference.cs
- DataGridViewEditingControlShowingEventArgs.cs
- ADMembershipUser.cs
- PeerChannelFactory.cs
- XMLDiffLoader.cs
- PkcsUtils.cs
- HttpClientChannel.cs
- XmlParser.cs
- TakeOrSkipQueryOperator.cs
- unsafeIndexingFilterStream.cs
- EmulateRecognizeCompletedEventArgs.cs
- TemplateField.cs
- CachedTypeface.cs
- Nodes.cs
- ImageMapEventArgs.cs
- EncoderReplacementFallback.cs
- ParsedAttributeCollection.cs
- RangeBaseAutomationPeer.cs
- TimeSpanStorage.cs
- SmtpLoginAuthenticationModule.cs
- BasicHttpBindingCollectionElement.cs
- HtmlLink.cs
- ChannelTokenTypeConverter.cs
- Subordinate.cs
- InfoCardService.cs
- WindowsRegion.cs
- CompilationUnit.cs
- EnumValidator.cs
- ClientConfigurationSystem.cs
- EdgeProfileValidation.cs
- Expression.DebuggerProxy.cs
- BadImageFormatException.cs
- OrderedParallelQuery.cs
- LingerOption.cs
- UnsafeNativeMethods.cs
- DataGridState.cs
- AutoGeneratedFieldProperties.cs
- SHA1.cs
- GroupBoxRenderer.cs
- MenuItemBindingCollection.cs
- InsufficientMemoryException.cs
- OledbConnectionStringbuilder.cs
- GroupQuery.cs
- MenuBindingsEditorForm.cs
- IPipelineRuntime.cs
- SQLBinary.cs
- KeyInfo.cs
- ComPlusTypeValidator.cs
- WebPartAuthorizationEventArgs.cs
- MenuStrip.cs
- TextOnlyOutput.cs
- XmlDocument.cs
- ProxyGenerationError.cs
- _SSPISessionCache.cs
- TextBoxAutoCompleteSourceConverter.cs
- StringResourceManager.cs
- ItemsPanelTemplate.cs
- Constraint.cs
- VerifyHashRequest.cs
- TextRangeSerialization.cs
- HtmlElementErrorEventArgs.cs
- CompiledScopeCriteria.cs
- BitmapCache.cs
- ComponentConverter.cs
- WebHeaderCollection.cs
- Transform3DGroup.cs
- TableParaClient.cs
- StoryFragments.cs
- TypeLoadException.cs
- InputBinding.cs
- CodeTypeConstructor.cs
- CodeTypeDeclarationCollection.cs
- HMACSHA384.cs
- SchemaMapping.cs
- CodeSnippetExpression.cs
- RemotingSurrogateSelector.cs
- ProxyManager.cs
- EventHandlerService.cs