MvcHttpHandler Class
Verifies and processes an HTTP request.
Inheritance Hierarchy
System.Object
System.Web.Routing.UrlRoutingHandler
System.Web.Mvc.MvcHttpHandler
Namespace: System.Web.Mvc
Assembly: System.Web.Mvc (in System.Web.Mvc.dll)
Syntax
'Declaration
Public Class MvcHttpHandler _
Inherits UrlRoutingHandler _
Implements IHttpAsyncHandler, IHttpHandler, IRequiresSessionState
public class MvcHttpHandler : UrlRoutingHandler,
IHttpAsyncHandler, IHttpHandler, IRequiresSessionState
public ref class MvcHttpHandler : public UrlRoutingHandler,
IHttpAsyncHandler, IHttpHandler, IRequiresSessionState
The MvcHttpHandler type exposes the following members.
Constructors
Name | Description | |
---|---|---|
MvcHttpHandler | Initializes a new instance of the MvcHttpHandler class. |
Top
Properties
Name | Description | |
---|---|---|
IsReusable | Gets a value that indicates whether another request can use the UrlRoutingHandler instance. (Inherited from UrlRoutingHandler.) | |
RouteCollection | Gets or sets the collection of defined routes for the ASP.NET application. (Inherited from UrlRoutingHandler.) |
Top
Methods
Name | Description | |
---|---|---|
BeginProcessRequest(HttpContext, AsyncCallback, Object) | Called by ASP.NET to begin asynchronous request processing. | |
BeginProcessRequest(HttpContextBase, AsyncCallback, Object) | Called by ASP.NET to begin asynchronous request processing. | |
EndProcessRequest | Called by ASP.NET when asynchronous request processing has ended. | |
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ProcessRequest(HttpContext) | Processes an HTTP request that matches a route. (Inherited from UrlRoutingHandler.) | |
ProcessRequest(HttpContextBase) | Processes an HTTP request that matches a route. (Inherited from UrlRoutingHandler.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
VerifyAndProcessRequest | Verifies and processes an HTTP request. (Overrides UrlRoutingHandler.VerifyAndProcessRequest(IHttpHandler, HttpContextBase).) |
Top
Explicit Interface Implementations
Name | Description | |
---|---|---|
IHttpAsyncHandler.BeginProcessRequest | Called by ASP.NET to begin asynchronous request processing. | |
IHttpAsyncHandler.EndProcessRequest | Called by ASP.NET when asynchronous request processing has ended. | |
IHttpHandler.IsReusable | Gets a value that indicates whether another request can use the UrlRoutingHandler instance. (Inherited from UrlRoutingHandler.) | |
IHttpHandler.ProcessRequest | Processes an HTTP request that matches a route. (Inherited from UrlRoutingHandler.) |
Top
Remarks
MVC includes the following handler types:
MvcHandler. This handler is responsible for initiating the ASP.NET pipeline for an MVC application. It receives a Controller instance from the MVC controller factory; this controller handles further processing of the request. Note that even though MvcHandler implements IHttpHandler, it cannot be mapped as a handler (for example, to the .mvc file-name extension) because the class does not support a parameterless constructor. (Its only constructor requires a RequestContext object.)
MvcRouteHandler. This class implements IRouteHandler, therefore it can integrate with ASP.NET routing. The MvcRouteHandler class associates the route with an MvcHandler instance. A MvcRouteHandler instance is registered with routing when you use the MapRoute method. When the MvcRouteHandler class is invoked, the class generates an MvcHandler instance using the current RequestContext instance. It then delegates control to the new MvcHandler instance.
MvcHttpHandler. This handler is used to facilitate direct handler mapping without going through the routing module. This is useful if you want to map a file-name extension such as .mvc directly to an MVC handler. Internally, MvcHttpHandler performs the same tasks that ASP.NET routing ordinarily performs (going through MvcRouteHandler and MvcHandler). However, it performs these tasks as a handler instead of as a module. This handler is not typically used when the UrlRoutingModule is enabled for all requests.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.