Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Routing / UrlRoutingHandler.cs / 1305376 / UrlRoutingHandler.cs
namespace System.Web.Routing { using System; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Web; using System.Runtime.CompilerServices; [TypeForwardedFrom("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")] public abstract class UrlRoutingHandler : IHttpHandler { private RouteCollection _routeCollection; protected virtual bool IsReusable { get { return false; } } [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "This needs to be settable for unit tests.")] public RouteCollection RouteCollection { get { if (_routeCollection == null) { _routeCollection = RouteTable.Routes; } return _routeCollection; } set { _routeCollection = value; } } protected virtual void ProcessRequest(HttpContext httpContext) { ProcessRequest(new HttpContextWrapper(httpContext)); } protected virtual void ProcessRequest(HttpContextBase httpContext) { RouteData routeData = RouteCollection.GetRouteData(httpContext); if (routeData == null) { throw new HttpException(404, SR.GetString(SR.UrlRoutingHandler_NoRouteMatches)); } IRouteHandler routeHandler = routeData.RouteHandler; if (routeHandler == null) { throw new InvalidOperationException(SR.GetString(SR.UrlRoutingModule_NoRouteHandler)); } RequestContext requestContext = new RequestContext(httpContext, routeData); IHttpHandler httpHandler = routeHandler.GetHttpHandler(requestContext); if (httpHandler == null) { throw new InvalidOperationException( String.Format( CultureInfo.CurrentUICulture, SR.GetString(SR.UrlRoutingModule_NoHttpHandler), routeHandler.GetType())); } VerifyAndProcessRequest(httpHandler, httpContext); } protected abstract void VerifyAndProcessRequest(IHttpHandler httpHandler, HttpContextBase httpContext); #region IHttpHandler Members bool IHttpHandler.IsReusable { get { return IsReusable; } } void IHttpHandler.ProcessRequest(HttpContext context) { ProcessRequest(context); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Web.Routing { using System; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Web; using System.Runtime.CompilerServices; [TypeForwardedFrom("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")] public abstract class UrlRoutingHandler : IHttpHandler { private RouteCollection _routeCollection; protected virtual bool IsReusable { get { return false; } } [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "This needs to be settable for unit tests.")] public RouteCollection RouteCollection { get { if (_routeCollection == null) { _routeCollection = RouteTable.Routes; } return _routeCollection; } set { _routeCollection = value; } } protected virtual void ProcessRequest(HttpContext httpContext) { ProcessRequest(new HttpContextWrapper(httpContext)); } protected virtual void ProcessRequest(HttpContextBase httpContext) { RouteData routeData = RouteCollection.GetRouteData(httpContext); if (routeData == null) { throw new HttpException(404, SR.GetString(SR.UrlRoutingHandler_NoRouteMatches)); } IRouteHandler routeHandler = routeData.RouteHandler; if (routeHandler == null) { throw new InvalidOperationException(SR.GetString(SR.UrlRoutingModule_NoRouteHandler)); } RequestContext requestContext = new RequestContext(httpContext, routeData); IHttpHandler httpHandler = routeHandler.GetHttpHandler(requestContext); if (httpHandler == null) { throw new InvalidOperationException( String.Format( CultureInfo.CurrentUICulture, SR.GetString(SR.UrlRoutingModule_NoHttpHandler), routeHandler.GetType())); } VerifyAndProcessRequest(httpHandler, httpContext); } protected abstract void VerifyAndProcessRequest(IHttpHandler httpHandler, HttpContextBase httpContext); #region IHttpHandler Members bool IHttpHandler.IsReusable { get { return IsReusable; } } void IHttpHandler.ProcessRequest(HttpContext context) { ProcessRequest(context); } #endregion } } // 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
- SiteMapNodeCollection.cs
- ConsumerConnectionPointCollection.cs
- DBParameter.cs
- ContentType.cs
- DataPagerFieldCollection.cs
- Splitter.cs
- DSASignatureFormatter.cs
- HtmlControl.cs
- TreeNodeBinding.cs
- DoubleConverter.cs
- XmlQueryCardinality.cs
- ReflectionUtil.cs
- NamedPermissionSet.cs
- MultiTouchSystemGestureLogic.cs
- AliasGenerator.cs
- Rect3D.cs
- DataColumn.cs
- CodeNamespaceCollection.cs
- CompilerResults.cs
- CodeCommentStatement.cs
- SoundPlayer.cs
- ResponseStream.cs
- PenCursorManager.cs
- HashSet.cs
- CaseInsensitiveComparer.cs
- KeyedCollection.cs
- ChildrenQuery.cs
- HttpModuleCollection.cs
- BuildProvider.cs
- ContainerFilterService.cs
- ConsoleTraceListener.cs
- LinqDataSourceSelectEventArgs.cs
- TextWriter.cs
- SectionVisual.cs
- TableLayoutSettings.cs
- MissingManifestResourceException.cs
- ObjectParameterCollection.cs
- LinqDataSourceValidationException.cs
- ListComponentEditorPage.cs
- MailMessageEventArgs.cs
- EmbeddedMailObjectsCollection.cs
- ReplacementText.cs
- CallbackValidator.cs
- _ListenerRequestStream.cs
- ReliabilityContractAttribute.cs
- SqlDataSourceConfigureFilterForm.cs
- JoinElimination.cs
- ExpressionBinding.cs
- StringFreezingAttribute.cs
- SByte.cs
- DataRecordInternal.cs
- ADMembershipProvider.cs
- WrapPanel.cs
- WinFormsSecurity.cs
- HttpCacheVaryByContentEncodings.cs
- Accessible.cs
- SmtpTransport.cs
- InternalUserCancelledException.cs
- LinkedList.cs
- SafeViewOfFileHandle.cs
- DefaultProxySection.cs
- ConnectionStringSettings.cs
- MultiByteCodec.cs
- BasicBrowserDialog.designer.cs
- TreeView.cs
- EntityDataSourceConfigureObjectContext.cs
- NativeStructs.cs
- WebPartConnectionCollection.cs
- FigureParaClient.cs
- EdmItemError.cs
- ServerTooBusyException.cs
- JavaScriptSerializer.cs
- ImageSourceValueSerializer.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- DefaultValidator.cs
- AutoFocusStyle.xaml.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- ButtonPopupAdapter.cs
- LogSwitch.cs
- XPathNode.cs
- SingleTagSectionHandler.cs
- XmlAutoDetectWriter.cs
- CopyEncoder.cs
- DataGridViewCellStyleBuilderDialog.cs
- typedescriptorpermissionattribute.cs
- IdnElement.cs
- HideDisabledControlAdapter.cs
- SizeLimitedCache.cs
- DefaultTextStoreTextComposition.cs
- WebPartEditorOkVerb.cs
- SemaphoreSecurity.cs
- TextElement.cs
- SqlDataSourceView.cs
- COM2Properties.cs
- contentDescriptor.cs
- ButtonDesigner.cs
- DataGridItem.cs
- ActivityInfo.cs
- WindowsGraphicsCacheManager.cs
- UnsafeNativeMethods.cs