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
- ImpersonateTokenRef.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- XslException.cs
- SQLGuidStorage.cs
- XamlFrame.cs
- PerformanceCounterPermissionEntry.cs
- DataBindEngine.cs
- DependentTransaction.cs
- GraphicsContainer.cs
- DataSourceControl.cs
- EntityReference.cs
- MouseBinding.cs
- DataBoundControlHelper.cs
- Vector3DAnimation.cs
- PageCopyCount.cs
- TransportBindingElementImporter.cs
- ChangeConflicts.cs
- ProfilePropertyMetadata.cs
- AsynchronousChannelMergeEnumerator.cs
- KeySpline.cs
- ImportCatalogPart.cs
- ConfigurationValues.cs
- LinearGradientBrush.cs
- ComponentConverter.cs
- SqlUDTStorage.cs
- Misc.cs
- brushes.cs
- Debug.cs
- EventWaitHandle.cs
- SymbolTable.cs
- ZipIOCentralDirectoryFileHeader.cs
- CustomDictionarySources.cs
- HtmlTernaryTree.cs
- Light.cs
- RecordsAffectedEventArgs.cs
- SqlInternalConnectionTds.cs
- Throw.cs
- DoubleCollectionConverter.cs
- AvTraceFormat.cs
- LinqDataSourceInsertEventArgs.cs
- XmlMtomReader.cs
- basecomparevalidator.cs
- PartialCachingControl.cs
- TextTreeFixupNode.cs
- ProcessInfo.cs
- IgnorePropertiesAttribute.cs
- TextBoxView.cs
- InkCanvasSelection.cs
- BadImageFormatException.cs
- SynchronizationContext.cs
- WindowsClaimSet.cs
- PriorityQueue.cs
- OLEDB_Enum.cs
- XmlSchemaSequence.cs
- CompilerState.cs
- XmlSchemaCollection.cs
- BufferAllocator.cs
- SupportingTokenChannel.cs
- SAPICategories.cs
- CodeBlockBuilder.cs
- DefaultBindingPropertyAttribute.cs
- AuthenticationService.cs
- XmlAttributeOverrides.cs
- PKCS1MaskGenerationMethod.cs
- RemoteWebConfigurationHost.cs
- CachedBitmap.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- DataSvcMapFileSerializer.cs
- PassportAuthentication.cs
- PointLight.cs
- SchemaSetCompiler.cs
- bindurihelper.cs
- SHA512Managed.cs
- ToolStripDropTargetManager.cs
- ItemsControl.cs
- IndexedGlyphRun.cs
- AQNBuilder.cs
- SweepDirectionValidation.cs
- OciLobLocator.cs
- ExtensionQuery.cs
- WebPartDescriptionCollection.cs
- XmlSchemaValidationException.cs
- SqlStatistics.cs
- ProviderUtil.cs
- CultureTableRecord.cs
- BlurEffect.cs
- PatternMatcher.cs
- ParenthesizePropertyNameAttribute.cs
- XmlValueConverter.cs
- FixedDocumentPaginator.cs
- ToolStripTextBox.cs
- PathFigureCollectionConverter.cs
- ConnectionManagementElementCollection.cs
- MetabaseServerConfig.cs
- SizeF.cs
- ByteAnimationUsingKeyFrames.cs
- XmlDomTextWriter.cs
- WebBrowserSiteBase.cs
- Pointer.cs
- HtmlTableCellCollection.cs