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
- UserControlCodeDomTreeGenerator.cs
- MouseEventArgs.cs
- XmlBufferedByteStreamReader.cs
- RemoteWebConfigurationHostServer.cs
- Site.cs
- RotateTransform3D.cs
- TypeNameConverter.cs
- BinaryWriter.cs
- Error.cs
- BaseTemplateBuildProvider.cs
- FtpRequestCacheValidator.cs
- HttpModule.cs
- DataTableTypeConverter.cs
- DynamicPropertyReader.cs
- HtmlTable.cs
- DeflateStream.cs
- TdsParserSessionPool.cs
- ColumnWidthChangingEvent.cs
- BamlResourceContent.cs
- DoubleAnimationUsingPath.cs
- storagemappingitemcollection.viewdictionary.cs
- SplitterPanel.cs
- DivideByZeroException.cs
- QuaternionRotation3D.cs
- VisualTarget.cs
- FormViewUpdateEventArgs.cs
- XmlMembersMapping.cs
- InitializationEventAttribute.cs
- HtmlTextBoxAdapter.cs
- SqlExpressionNullability.cs
- CreateUserWizard.cs
- AsyncOperation.cs
- OperationInvokerBehavior.cs
- SqlTypeConverter.cs
- DbSourceParameterCollection.cs
- WebPartManagerInternals.cs
- SynthesizerStateChangedEventArgs.cs
- PngBitmapEncoder.cs
- EncryptedKey.cs
- TextDecoration.cs
- ELinqQueryState.cs
- PersistenceProviderBehavior.cs
- MD5.cs
- CachedCompositeFamily.cs
- GenericEnumConverter.cs
- InnerItemCollectionView.cs
- CompiledQueryCacheEntry.cs
- StringStorage.cs
- MouseGestureConverter.cs
- CalendarTable.cs
- WebPartsPersonalizationAuthorization.cs
- BindingValueChangedEventArgs.cs
- Baml2006SchemaContext.cs
- DisplayInformation.cs
- ReadingWritingEntityEventArgs.cs
- AsyncPostBackTrigger.cs
- RepeaterDesigner.cs
- ConcurrentBag.cs
- loginstatus.cs
- DataServices.cs
- EventNotify.cs
- XmlSerializerFactory.cs
- StrokeNode.cs
- StatementContext.cs
- Soap12ProtocolImporter.cs
- XamlStackWriter.cs
- RegexWorker.cs
- ThicknessKeyFrameCollection.cs
- BooleanSwitch.cs
- ViewStateException.cs
- RegexRunner.cs
- ConnectionStringEditor.cs
- Stroke2.cs
- HttpApplicationFactory.cs
- MessageBodyDescription.cs
- Stack.cs
- PageCache.cs
- TypeToStringValueConverter.cs
- BinaryExpressionHelper.cs
- Simplifier.cs
- PKCS1MaskGenerationMethod.cs
- XmlSerializerFaultFormatter.cs
- XmlDocument.cs
- DocumentViewerBaseAutomationPeer.cs
- ResourceAttributes.cs
- assertwrapper.cs
- Property.cs
- SequenceNumber.cs
- DataGridViewComponentPropertyGridSite.cs
- PointValueSerializer.cs
- Triplet.cs
- SqlDataSourceFilteringEventArgs.cs
- GroupBox.cs
- NetworkAddressChange.cs
- COM2TypeInfoProcessor.cs
- IsolationInterop.cs
- DependencyPropertyConverter.cs
- ProcessHostFactoryHelper.cs
- StatementContext.cs
- MultiPageTextView.cs