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
- LinkLabel.cs
- NameValueCache.cs
- StaticDataManager.cs
- BamlLocalizableResource.cs
- HttpResponseHeader.cs
- XamlSerializerUtil.cs
- SafeNativeMethods.cs
- Privilege.cs
- Tokenizer.cs
- FileDataSourceCache.cs
- CodeAttachEventStatement.cs
- TextDecorationCollection.cs
- ListViewGroupConverter.cs
- WebFormDesignerActionService.cs
- ResetableIterator.cs
- SecurityContext.cs
- FlowNode.cs
- FixedDocumentSequencePaginator.cs
- SocketException.cs
- FixedPosition.cs
- OleDbErrorCollection.cs
- MetadataArtifactLoaderCompositeFile.cs
- DataContractAttribute.cs
- Span.cs
- QilDataSource.cs
- CopyAction.cs
- NativeActivityFaultContext.cs
- ExpressionQuoter.cs
- KeyConverter.cs
- RsaSecurityKey.cs
- ProcessHostFactoryHelper.cs
- InternalUserCancelledException.cs
- DataRecord.cs
- ValidationRule.cs
- DataGridToolTip.cs
- ToolStripDropDownItem.cs
- XamlRtfConverter.cs
- MatchAllMessageFilter.cs
- ProfessionalColors.cs
- XmlBoundElement.cs
- SubclassTypeValidator.cs
- DefaultMemberAttribute.cs
- ProjectionQueryOptionExpression.cs
- RevocationPoint.cs
- SystemGatewayIPAddressInformation.cs
- ComponentResourceKeyConverter.cs
- DbgUtil.cs
- Queue.cs
- EmbeddedMailObjectsCollection.cs
- ServiceThrottlingElement.cs
- HtmlInputCheckBox.cs
- CmsUtils.cs
- Property.cs
- VectorAnimation.cs
- StringAnimationBase.cs
- _ShellExpression.cs
- Models.cs
- EventData.cs
- Pkcs7Recipient.cs
- RTLAwareMessageBox.cs
- HTTPNotFoundHandler.cs
- CodeTypeReferenceCollection.cs
- StrokeNodeEnumerator.cs
- QueryNode.cs
- Graphics.cs
- DrawingContext.cs
- FlowLayoutSettings.cs
- GeneralTransformCollection.cs
- Parser.cs
- ContextStaticAttribute.cs
- DynamicMethod.cs
- AutomationPeer.cs
- AutomationElementIdentifiers.cs
- SHA256Managed.cs
- SingleAnimationUsingKeyFrames.cs
- CodeSubDirectoriesCollection.cs
- RequestResizeEvent.cs
- PKCS1MaskGenerationMethod.cs
- PrintPreviewGraphics.cs
- ProfileGroupSettingsCollection.cs
- IntegerFacetDescriptionElement.cs
- DataControlPagerLinkButton.cs
- SiteMapNodeCollection.cs
- columnmapkeybuilder.cs
- ReflectTypeDescriptionProvider.cs
- EntityCommandCompilationException.cs
- Model3DGroup.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- SafeNativeMethods.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- WebPartDescription.cs
- ToolStripLocationCancelEventArgs.cs
- DummyDataSource.cs
- GridItem.cs
- TypeSystem.cs
- WebPartCollection.cs
- AlignmentYValidation.cs
- DPAPIProtectedConfigurationProvider.cs
- MatrixCamera.cs
- XmlAttributes.cs