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
- ClientFormsIdentity.cs
- sitestring.cs
- SingleSelectRootGridEntry.cs
- PolicyValidationException.cs
- WebPartManager.cs
- DefaultIfEmptyQueryOperator.cs
- SymDocumentType.cs
- CompilationUtil.cs
- BindingOperations.cs
- RegexMatch.cs
- StreamUpgradeAcceptor.cs
- Int16AnimationBase.cs
- WpfGeneratedKnownTypes.cs
- ILGenerator.cs
- PeerApplicationLaunchInfo.cs
- AuthenticationSection.cs
- CapabilitiesPattern.cs
- SchemaImporter.cs
- SettingsSection.cs
- Visual3D.cs
- ReflectionServiceProvider.cs
- WindowsEditBox.cs
- TableColumn.cs
- BoundColumn.cs
- PreservationFileReader.cs
- CanExecuteRoutedEventArgs.cs
- SystemWebSectionGroup.cs
- DragCompletedEventArgs.cs
- Win32.cs
- Button.cs
- OrderPreservingPipeliningMergeHelper.cs
- PictureBox.cs
- IWorkflowDebuggerService.cs
- GeneralTransform3DCollection.cs
- DateTimeValueSerializer.cs
- webproxy.cs
- EventHandlerList.cs
- PropertyBuilder.cs
- DrawListViewItemEventArgs.cs
- COM2IDispatchConverter.cs
- OAVariantLib.cs
- AVElementHelper.cs
- SqlConnectionPoolProviderInfo.cs
- ExpandedWrapper.cs
- SafeNativeMethods.cs
- CodeArgumentReferenceExpression.cs
- Char.cs
- DesignOnlyAttribute.cs
- DataSourceControl.cs
- _Win32.cs
- GlobalEventManager.cs
- BlockUIContainer.cs
- LiteralLink.cs
- InternalPolicyElement.cs
- RIPEMD160Managed.cs
- DbConnectionPoolGroupProviderInfo.cs
- VisualTarget.cs
- XmlSecureResolver.cs
- CacheSection.cs
- PasswordBoxAutomationPeer.cs
- PerformanceCounterNameAttribute.cs
- CommandDevice.cs
- TargetConverter.cs
- ScriptResourceInfo.cs
- TransactionContext.cs
- MenuDesigner.cs
- OleAutBinder.cs
- DrawingAttributeSerializer.cs
- PingReply.cs
- SemaphoreSecurity.cs
- TriggerActionCollection.cs
- PeerChannelListener.cs
- UnsafeNativeMethods.cs
- IdnElement.cs
- NegatedConstant.cs
- SingleTagSectionHandler.cs
- InteropAutomationProvider.cs
- XmlComplianceUtil.cs
- PowerModeChangedEventArgs.cs
- NumberSubstitution.cs
- DefaultShape.cs
- PropertyGridDesigner.cs
- GradientSpreadMethodValidation.cs
- GenericTextProperties.cs
- WebPartAddingEventArgs.cs
- OracleCommandSet.cs
- NamedElement.cs
- BasicBrowserDialog.cs
- NamespaceExpr.cs
- ReliabilityContractAttribute.cs
- CharUnicodeInfo.cs
- WebEventTraceProvider.cs
- SafeViewOfFileHandle.cs
- ProtocolsConfigurationHandler.cs
- AspNetHostingPermission.cs
- ChildrenQuery.cs
- RuleSetDialog.Designer.cs
- DecimalAverageAggregationOperator.cs
- Win32.cs
- CompilationLock.cs