Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StateDesigner.Layouts.cs
- IssuanceTokenProviderState.cs
- SocketPermission.cs
- CodeGenerator.cs
- dtdvalidator.cs
- EventWaitHandle.cs
- ResourceSetExpression.cs
- HandlerFactoryWrapper.cs
- WebContext.cs
- XamlPoint3DCollectionSerializer.cs
- DesignColumn.cs
- ClickablePoint.cs
- BufferedGraphicsManager.cs
- Graphics.cs
- DataGridViewUtilities.cs
- ToolStripItem.cs
- ImageConverter.cs
- WindowsFormsSectionHandler.cs
- StringFreezingAttribute.cs
- ImageCodecInfo.cs
- SerializeAbsoluteContext.cs
- LinkDescriptor.cs
- KeysConverter.cs
- MetadataCollection.cs
- Library.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- ButtonColumn.cs
- EdgeProfileValidation.cs
- UnitControl.cs
- ListBoxItemAutomationPeer.cs
- ComponentResourceKey.cs
- StringComparer.cs
- MimeFormatter.cs
- TripleDESCryptoServiceProvider.cs
- ContentValidator.cs
- HtmlFormWrapper.cs
- UdpDuplexChannel.cs
- DataServiceResponse.cs
- NameTable.cs
- OdbcCommandBuilder.cs
- ComboBoxItem.cs
- ClockGroup.cs
- Translator.cs
- TemplateControlBuildProvider.cs
- EdgeProfileValidation.cs
- ProxyManager.cs
- BaseProcessor.cs
- LicenseContext.cs
- sortedlist.cs
- FontStyle.cs
- ComNativeDescriptor.cs
- InstancePersistence.cs
- BaseValidatorDesigner.cs
- SymbolEqualComparer.cs
- Border.cs
- OleDbMetaDataFactory.cs
- InputProcessorProfilesLoader.cs
- METAHEADER.cs
- DataContractSet.cs
- SecurityTokenRequirement.cs
- SqlDataReaderSmi.cs
- KeyboardEventArgs.cs
- WSSecurityTokenSerializer.cs
- XmlDataProvider.cs
- RadioButton.cs
- TargetConverter.cs
- ConfigViewGenerator.cs
- ComponentEditorPage.cs
- UnsafeNativeMethods.cs
- StateElement.cs
- FileRecordSequenceCompletedAsyncResult.cs
- ToolStripSystemRenderer.cs
- BasicExpressionVisitor.cs
- ColumnPropertiesGroup.cs
- FactorySettingsElement.cs
- ExtensibleClassFactory.cs
- X509SecurityTokenProvider.cs
- Stacktrace.cs
- Logging.cs
- ErrorFormatterPage.cs
- Script.cs
- SafeHandle.cs
- ReachDocumentPageSerializerAsync.cs
- EntityModelSchemaGenerator.cs
- PropertyTabAttribute.cs
- BindingCompleteEventArgs.cs
- AuthenticateEventArgs.cs
- SafeRegistryHandle.cs
- mactripleDES.cs
- METAHEADER.cs
- XpsFilter.cs
- EntityDataSourceColumn.cs
- RefExpr.cs
- CodeAttributeArgument.cs
- MDIClient.cs
- TdsEnums.cs
- ScriptComponentDescriptor.cs
- CompilerCollection.cs
- ToolBarOverflowPanel.cs
- AccessorTable.cs