Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Literal.cs
- OLEDB_Enum.cs
- TreeNodeConverter.cs
- KeyValueSerializer.cs
- Certificate.cs
- DesigntimeLicenseContextSerializer.cs
- ConnectionInterfaceCollection.cs
- CommentEmitter.cs
- EntitySqlException.cs
- SQLRoleProvider.cs
- ErrorBehavior.cs
- PropertyValueChangedEvent.cs
- MessageQueueConverter.cs
- DefaultValidator.cs
- RightsManagementPermission.cs
- BasicDesignerLoader.cs
- MultiPropertyDescriptorGridEntry.cs
- NativeCppClassAttribute.cs
- EntityDataSourceColumn.cs
- RepeatButton.cs
- HwndHost.cs
- Merger.cs
- IdentityNotMappedException.cs
- CheckBoxPopupAdapter.cs
- SimpleTypeResolver.cs
- XmlSchemaType.cs
- MetadataResolver.cs
- Rect3D.cs
- BinaryHeap.cs
- DataMisalignedException.cs
- PreviewPrintController.cs
- GridView.cs
- AppSettingsReader.cs
- ILGen.cs
- SystemDropShadowChrome.cs
- ItemContainerGenerator.cs
- InternalConfigHost.cs
- Deflater.cs
- DataGridColumnCollection.cs
- DataTemplateSelector.cs
- ReferentialConstraint.cs
- basecomparevalidator.cs
- WindowsGrip.cs
- RequestCacheManager.cs
- ToolStripArrowRenderEventArgs.cs
- SecurityState.cs
- IntSecurity.cs
- BitmapEncoder.cs
- SmiMetaDataProperty.cs
- TaskForm.cs
- EditableRegion.cs
- XmlReflectionMember.cs
- BidOverLoads.cs
- TraceHandler.cs
- DictationGrammar.cs
- PersonalizationAdministration.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- CodeLabeledStatement.cs
- DesignerDataParameter.cs
- Model3DGroup.cs
- wgx_render.cs
- PlanCompilerUtil.cs
- RegisteredScript.cs
- ClassImporter.cs
- LongSumAggregationOperator.cs
- ButtonFieldBase.cs
- TextHidden.cs
- FilterableData.cs
- StrongNameMembershipCondition.cs
- TabPage.cs
- SourceFilter.cs
- CngProvider.cs
- ConfigurationManagerHelper.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- CodeAttributeDeclarationCollection.cs
- BitmapEffectOutputConnector.cs
- DataRowComparer.cs
- SqlUserDefinedTypeAttribute.cs
- SettingsPropertyCollection.cs
- EventlogProvider.cs
- SelectionGlyphBase.cs
- ContainerUIElement3D.cs
- DataViewSetting.cs
- EventLogEntryCollection.cs
- EntityDataSourceDataSelection.cs
- UdpMessageProperty.cs
- MetadataItemEmitter.cs
- DbSetClause.cs
- CalendarDay.cs
- PropertyCondition.cs
- SingleAnimationUsingKeyFrames.cs
- GetBrowserTokenRequest.cs
- SHA512.cs
- XmlIgnoreAttribute.cs
- XmlNode.cs
- Sql8ExpressionRewriter.cs
- DictionaryEntry.cs
- Rect.cs
- TypeLibConverter.cs
- SafePipeHandle.cs