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
- ProviderMetadataCachedInformation.cs
- FormsAuthenticationConfiguration.cs
- RegisteredDisposeScript.cs
- URLEditor.cs
- BitVector32.cs
- BinaryConverter.cs
- _SpnDictionary.cs
- TrustManagerPromptUI.cs
- Funcletizer.cs
- KnownTypes.cs
- RegexWorker.cs
- AuthenticationModulesSection.cs
- XmlTypeMapping.cs
- XPathAncestorIterator.cs
- SqlDataSourceEnumerator.cs
- TreeNodeStyleCollection.cs
- BitmapEffectGeneralTransform.cs
- InstanceDescriptor.cs
- FormClosingEvent.cs
- SizeAnimationUsingKeyFrames.cs
- PathSegmentCollection.cs
- ProviderSettingsCollection.cs
- TextRangeProviderWrapper.cs
- ResetableIterator.cs
- ControlCommandSet.cs
- DeflateStream.cs
- PointAnimationBase.cs
- DataSourceHelper.cs
- KeyValuePair.cs
- DataTableTypeConverter.cs
- InteropEnvironment.cs
- PageThemeBuildProvider.cs
- SettingsBindableAttribute.cs
- ConfigurationCollectionAttribute.cs
- PointCollectionValueSerializer.cs
- IntPtr.cs
- Transactions.cs
- SchemaUtility.cs
- ToolStripArrowRenderEventArgs.cs
- MultipartIdentifier.cs
- InstanceKeyCompleteException.cs
- ConnectionManagementSection.cs
- ValueTypePropertyReference.cs
- PropertyManager.cs
- CodeCommentStatementCollection.cs
- DataGridAutoFormatDialog.cs
- MobileControl.cs
- Profiler.cs
- Grant.cs
- NamedElement.cs
- ContactManager.cs
- FontWeight.cs
- IxmlLineInfo.cs
- MemberDescriptor.cs
- Fonts.cs
- Helpers.cs
- StringStorage.cs
- ShimAsPublicXamlType.cs
- PanelStyle.cs
- SortDescriptionCollection.cs
- ModelProperty.cs
- TrustLevelCollection.cs
- AttributeInfo.cs
- ServiceDebugElement.cs
- WebPartEditorCancelVerb.cs
- ToolStripItem.cs
- RepeaterCommandEventArgs.cs
- initElementDictionary.cs
- AuthenticationServiceManager.cs
- ArgumentNullException.cs
- ConfigurationManagerHelper.cs
- SqlCacheDependencySection.cs
- MenuAdapter.cs
- BasicViewGenerator.cs
- XmlSerializerFactory.cs
- TypeInitializationException.cs
- ColumnResizeUndoUnit.cs
- FormView.cs
- Exceptions.cs
- ScrollViewerAutomationPeer.cs
- documentsequencetextview.cs
- BitmapEffect.cs
- InlineUIContainer.cs
- BaseTreeIterator.cs
- WebPartConnectionsEventArgs.cs
- OleDbDataReader.cs
- UnsafeNativeMethods.cs
- JsonWriterDelegator.cs
- FontDialog.cs
- WebPartAddingEventArgs.cs
- ListMarkerSourceInfo.cs
- FtpWebResponse.cs
- ArgumentDesigner.xaml.cs
- DocumentDesigner.cs
- DocumentPageView.cs
- PageWrapper.cs
- RoutedEventHandlerInfo.cs
- CalendarSelectionChangedEventArgs.cs
- StatusStrip.cs
- StrongNameUtility.cs