Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlDigitalSignatureProcessor.cs
- XmlFormatExtensionPointAttribute.cs
- Trace.cs
- GeneratedCodeAttribute.cs
- SmiContextFactory.cs
- CalendarDateChangedEventArgs.cs
- DeviceSpecificChoice.cs
- _ContextAwareResult.cs
- StatusBar.cs
- Line.cs
- JsonObjectDataContract.cs
- CollectionViewSource.cs
- OrderedDictionaryStateHelper.cs
- EditorServiceContext.cs
- DependencyObject.cs
- NotImplementedException.cs
- SqlVersion.cs
- FixedLineResult.cs
- EntityDescriptor.cs
- Context.cs
- ArglessEventHandlerProxy.cs
- ValidationSummaryDesigner.cs
- UserControlParser.cs
- WebPartMinimizeVerb.cs
- InheritanceRules.cs
- SizeAnimation.cs
- HttpDictionary.cs
- RadialGradientBrush.cs
- ErrorRuntimeConfig.cs
- InternalEnumValidatorAttribute.cs
- Visitors.cs
- TCPListener.cs
- TextParaClient.cs
- GridViewRow.cs
- ValueProviderWrapper.cs
- GeometryModel3D.cs
- EntitySqlException.cs
- SingleObjectCollection.cs
- NumericUpDown.cs
- ValueOfAction.cs
- PropertyBuilder.cs
- WebAdminConfigurationHelper.cs
- CryptoConfig.cs
- OdbcEnvironmentHandle.cs
- Vector.cs
- EntityCommandExecutionException.cs
- CommonProperties.cs
- UpdatePanel.cs
- MemberAssignment.cs
- ReferencedCollectionType.cs
- MsmqInputChannelListenerBase.cs
- SymmetricKeyWrap.cs
- HostUtils.cs
- Literal.cs
- DependencyObjectType.cs
- DecimalAnimationBase.cs
- PointConverter.cs
- ServiceThrottlingBehavior.cs
- AncestorChangedEventArgs.cs
- DoubleAnimationUsingKeyFrames.cs
- DependencyPropertyHelper.cs
- MapPathBasedVirtualPathProvider.cs
- Context.cs
- SqlCaseSimplifier.cs
- FloaterParaClient.cs
- EventsTab.cs
- TemplateKey.cs
- _NtlmClient.cs
- Vector.cs
- GradientStop.cs
- TableTextElementCollectionInternal.cs
- TableDetailsRow.cs
- SecurityContext.cs
- XmlQuerySequence.cs
- DeviceSpecific.cs
- BamlLocalizabilityResolver.cs
- HtmlInputButton.cs
- TemplateColumn.cs
- WindowsFont.cs
- MaxMessageSizeStream.cs
- recordstatescratchpad.cs
- ComponentManagerBroker.cs
- ToolboxItemAttribute.cs
- VisualStyleRenderer.cs
- HeaderedContentControl.cs
- TableParagraph.cs
- TextTreeTextBlock.cs
- Debug.cs
- ToolStripDropDownClosedEventArgs.cs
- Int32AnimationUsingKeyFrames.cs
- Switch.cs
- ManagedFilter.cs
- EventDescriptor.cs
- DecimalMinMaxAggregationOperator.cs
- CodeIterationStatement.cs
- SocketAddress.cs
- CharacterBufferReference.cs
- oledbconnectionstring.cs
- TreeNodeClickEventArgs.cs
- CollectionViewProxy.cs