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
- SupportedAddressingMode.cs
- GridViewColumnCollection.cs
- _LocalDataStore.cs
- PackagePartCollection.cs
- ClientTargetSection.cs
- BitmapPalettes.cs
- IncrementalCompileAnalyzer.cs
- WebPartConnectionsConnectVerb.cs
- Single.cs
- CodeMemberField.cs
- ProxyWebPartConnectionCollection.cs
- EllipseGeometry.cs
- DataRowChangeEvent.cs
- ParallelTimeline.cs
- WorkflowApplicationCompletedEventArgs.cs
- StaticDataManager.cs
- Monitor.cs
- WebPartCatalogAddVerb.cs
- DataSourceSelectArguments.cs
- SupportsEventValidationAttribute.cs
- WebPartConnectionsConnectVerb.cs
- FixedMaxHeap.cs
- BrowserCapabilitiesFactoryBase.cs
- TextServicesProperty.cs
- StringResourceManager.cs
- ToolCreatedEventArgs.cs
- AbstractSvcMapFileLoader.cs
- VectorAnimationUsingKeyFrames.cs
- _HeaderInfo.cs
- DataTableClearEvent.cs
- UIElementIsland.cs
- StrokeDescriptor.cs
- HttpMethodConstraint.cs
- VisualStateGroup.cs
- PropertyMapper.cs
- Inflater.cs
- DataConnectionHelper.cs
- DataMemberListEditor.cs
- ResourceCategoryAttribute.cs
- ContainerSelectorBehavior.cs
- LicenseProviderAttribute.cs
- FontSource.cs
- HttpModulesSection.cs
- DesigntimeLicenseContext.cs
- GridViewRow.cs
- DbMetaDataColumnNames.cs
- GroupItem.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- InputLanguage.cs
- PageClientProxyGenerator.cs
- ValueSerializer.cs
- TabControlCancelEvent.cs
- OleDbErrorCollection.cs
- SettingsSection.cs
- FixedSOMTextRun.cs
- ContextStaticAttribute.cs
- CalendarTable.cs
- VisualBrush.cs
- EventlogProvider.cs
- OdbcErrorCollection.cs
- PieceDirectory.cs
- StylusButtonCollection.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- PolyQuadraticBezierSegment.cs
- OleDbEnumerator.cs
- TextWriter.cs
- MsmqTransportSecurity.cs
- InstallerTypeAttribute.cs
- DataGridViewRowCollection.cs
- LinearGradientBrush.cs
- TargetInvocationException.cs
- ExpandCollapseProviderWrapper.cs
- DBParameter.cs
- ComboBox.cs
- WebConfigManager.cs
- ChildDocumentBlock.cs
- AuthorizationContext.cs
- ModelPropertyCollectionImpl.cs
- EndOfStreamException.cs
- BulletedList.cs
- PriorityBindingExpression.cs
- mda.cs
- HtmlInputText.cs
- DefaultValueAttribute.cs
- CallContext.cs
- IISMapPath.cs
- RegistryPermission.cs
- NumericExpr.cs
- AssociationEndMember.cs
- UnsafeMethods.cs
- LineProperties.cs
- DataDocumentXPathNavigator.cs
- XmlSchemaAttribute.cs
- DtdParser.cs
- ExtensionFile.cs
- TraceXPathNavigator.cs
- SectionInput.cs
- QueryableDataSource.cs
- PersistenceTypeAttribute.cs
- HostUtils.cs