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
- ProxyWebPartManagerDesigner.cs
- ScriptControlManager.cs
- CodeEventReferenceExpression.cs
- FrameworkElementFactoryMarkupObject.cs
- XamlGridLengthSerializer.cs
- SR.cs
- ControlCollection.cs
- TargetControlTypeAttribute.cs
- TreeSet.cs
- TemplateColumn.cs
- baseshape.cs
- ColorConvertedBitmapExtension.cs
- OpenTypeLayoutCache.cs
- DriveNotFoundException.cs
- SiteMapNodeItemEventArgs.cs
- XmlAttributeAttribute.cs
- SiteMapNodeItemEventArgs.cs
- DESCryptoServiceProvider.cs
- UnicodeEncoding.cs
- MetadataCollection.cs
- JsonDeserializer.cs
- ManagementDateTime.cs
- TextChangedEventArgs.cs
- GroupBox.cs
- XmlSchemaComplexType.cs
- ObjectDataSourceDisposingEventArgs.cs
- PkcsMisc.cs
- ResourcesGenerator.cs
- AggregateNode.cs
- WebPartTransformer.cs
- WindowsScrollBarBits.cs
- SmiMetaDataProperty.cs
- HtmlControlAdapter.cs
- RelatedEnd.cs
- InitializationEventAttribute.cs
- TreeViewEvent.cs
- UrlMappingsSection.cs
- GridViewUpdatedEventArgs.cs
- CodePrimitiveExpression.cs
- ClientBuildManager.cs
- OLEDB_Enum.cs
- GC.cs
- LocalizableAttribute.cs
- Parameter.cs
- WriteStateInfoBase.cs
- CatalogZone.cs
- IteratorDescriptor.cs
- AnimationLayer.cs
- TextElement.cs
- SplitterEvent.cs
- ConfigViewGenerator.cs
- SingleConverter.cs
- TraceSwitch.cs
- BinaryReader.cs
- WpfSharedBamlSchemaContext.cs
- WmlPageAdapter.cs
- X509CertificateValidator.cs
- HierarchicalDataBoundControl.cs
- SHA512Managed.cs
- SqlDataSource.cs
- XPathNavigatorReader.cs
- CodeMemberField.cs
- DESCryptoServiceProvider.cs
- NotifyParentPropertyAttribute.cs
- EncodingNLS.cs
- PrivateFontCollection.cs
- AnyAllSearchOperator.cs
- CodeCompileUnit.cs
- Int32RectValueSerializer.cs
- SQLBinary.cs
- MembershipUser.cs
- DataGridSortCommandEventArgs.cs
- ControlBuilder.cs
- RelatedCurrencyManager.cs
- TextContainer.cs
- LongValidator.cs
- Point3DConverter.cs
- SmiGettersStream.cs
- DataBoundControlParameterTarget.cs
- DesignerTextWriter.cs
- FamilyTypeface.cs
- UriSection.cs
- FunctionDefinition.cs
- StatementContext.cs
- CheckBoxAutomationPeer.cs
- BaseResourcesBuildProvider.cs
- QueryableDataSourceHelper.cs
- XslUrlEditor.cs
- NavigationCommands.cs
- PathSegmentCollection.cs
- Native.cs
- DataBindingExpressionBuilder.cs
- Module.cs
- SiteIdentityPermission.cs
- PartManifestEntry.cs
- ClientEventManager.cs
- WebPartConnectionsCancelEventArgs.cs
- GeneralTransform3DGroup.cs
- SmiSettersStream.cs
- FormatSettings.cs