Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / PageHandlerFactory.cs / 1305376 / 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*/) as Page; if (page == null) return null; page.TemplateControlVirtualPath = virtualPath; return page; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ToolBarTray.cs
- DoubleLinkListEnumerator.cs
- CompressedStack.cs
- KeyValuePairs.cs
- GeneralTransform2DTo3DTo2D.cs
- BitArray.cs
- SafeCryptoHandles.cs
- SafeHandles.cs
- ListBox.cs
- XmlCompatibilityReader.cs
- InputLangChangeEvent.cs
- InfoCardKeyedHashAlgorithm.cs
- SchemaType.cs
- SafeEventLogReadHandle.cs
- XslTransform.cs
- HostedHttpRequestAsyncResult.cs
- ProtocolsConfiguration.cs
- NotImplementedException.cs
- ConfigurationLocation.cs
- DataTrigger.cs
- IImplicitResourceProvider.cs
- AppDomainManager.cs
- HtmlImage.cs
- GenericIdentity.cs
- Hyperlink.cs
- ConfigurationException.cs
- XmlDataDocument.cs
- NullableDoubleAverageAggregationOperator.cs
- Button.cs
- CopyAction.cs
- ProfileParameter.cs
- DrawingAttributeSerializer.cs
- ValidationResult.cs
- WebPartDisplayModeCancelEventArgs.cs
- Screen.cs
- RadioButton.cs
- LayoutInformation.cs
- Model3D.cs
- UseManagedPresentationBindingElement.cs
- NonClientArea.cs
- FilterUserControlBase.cs
- TCEAdapterGenerator.cs
- exports.cs
- MultiView.cs
- WebPartDescription.cs
- AppDomain.cs
- EditorPartChrome.cs
- InstancePersistence.cs
- Hash.cs
- InternalPolicyElement.cs
- AsyncCompletedEventArgs.cs
- GenerateHelper.cs
- Configuration.cs
- Funcletizer.cs
- AsnEncodedData.cs
- MenuAdapter.cs
- PathFigureCollectionConverter.cs
- ExtensibleSyndicationObject.cs
- BookmarkScopeHandle.cs
- infer.cs
- DialogResultConverter.cs
- HttpRuntimeSection.cs
- Camera.cs
- _LoggingObject.cs
- BitVector32.cs
- TdsRecordBufferSetter.cs
- KeyboardNavigation.cs
- DoubleLinkList.cs
- EntityConnection.cs
- AnonymousIdentificationSection.cs
- DropSource.cs
- BitmapEffectInput.cs
- RemoteWebConfigurationHost.cs
- TextTreeRootNode.cs
- InputProviderSite.cs
- SvcMapFile.cs
- DataTransferEventArgs.cs
- LogConverter.cs
- SemaphoreFullException.cs
- XmlIncludeAttribute.cs
- OdbcConnectionOpen.cs
- Binding.cs
- EFAssociationProvider.cs
- SqlRowUpdatingEvent.cs
- InkCanvasAutomationPeer.cs
- XamlHostingSection.cs
- CodeCatchClause.cs
- NullableLongSumAggregationOperator.cs
- ZeroOpNode.cs
- FunctionQuery.cs
- PartialTrustVisibleAssembly.cs
- AccessText.cs
- ProtectedProviderSettings.cs
- SqlRemoveConstantOrderBy.cs
- ParameterCollectionEditorForm.cs
- FullTextState.cs
- OperationResponse.cs
- LinqDataSourceSelectEventArgs.cs
- AudioFormatConverter.cs
- ReadOnlyKeyedCollection.cs