MvcHandler Class


Selects the controller that will handle an HTTP request.

Namespace:   System.Web.Mvc
Assembly:  System.Web.Mvc (in System.Web.Mvc.dll)

Inheritance Hierarchy



public class MvcHandler : IHttpAsyncHandler, IHttpHandler, IRequiresSessionState
public ref class MvcHandler : IHttpAsyncHandler, IHttpHandler, 
type MvcHandler = 
        interface IHttpAsyncHandler
        interface IHttpHandler
        interface IRequiresSessionState
Public Class MvcHandler
    Implements IHttpAsyncHandler, IHttpHandler, IRequiresSessionState


Name Description
System_CAPS_pubmethod MvcHandler(RequestContext)

Initializes a new instance of the MvcHandler class.


Name Description
System_CAPS_pubpropertySystem_CAPS_static DisableMvcResponseHeader

Gets or sets a value that indicates whether the MVC response header is disabled.

System_CAPS_protproperty IsReusable

Gets a value that indicates whether another request can use the IHttpHandler instance.

System_CAPS_pubproperty RequestContext

Gets the request context.


Name Description
System_CAPS_protmethod AddVersionHeader(HttpContextBase)

Adds the version header by using the specified HTTP context.

System_CAPS_protmethod BeginProcessRequest(HttpContext, AsyncCallback, Object)

Called by ASP.NET to begin asynchronous request processing.

System_CAPS_protmethod BeginProcessRequest(HttpContextBase, AsyncCallback, Object)

Called by ASP.NET to begin asynchronous request processing using the base HTTP context.

System_CAPS_protmethod EndProcessRequest(IAsyncResult)

Called by ASP.NET when asynchronous request processing has ended.

System_CAPS_pubmethod Equals(Object)

(Inherited from Object.)

System_CAPS_protmethod Finalize()

(Inherited from Object.)

System_CAPS_pubmethod GetHashCode()

(Inherited from Object.)

System_CAPS_pubmethod GetType()

(Inherited from Object.)

System_CAPS_protmethod MemberwiseClone()

(Inherited from Object.)

System_CAPS_protmethod ProcessRequest(HttpContext)

Processes the request by using the specified HTTP request context.

System_CAPS_protmethod ProcessRequest(HttpContextBase)

Processes the request by using the specified base HTTP request context.

System_CAPS_pubmethod ToString()

(Inherited from Object.)


Name Description
System_CAPS_pubfieldSystem_CAPS_static MvcVersionHeaderName

Contains the header name of the ASP.NET MVC version.

Explicit Interface Implementations

Name Description
System_CAPS_pubinterfaceSystem_CAPS_privmethod IHttpAsyncHandler.BeginProcessRequest(HttpContext, AsyncCallback, Object)

Called by ASP.NET to begin asynchronous request processing using the base HTTP context.

System_CAPS_pubinterfaceSystem_CAPS_privmethod IHttpAsyncHandler.EndProcessRequest(IAsyncResult)

Called by ASP.NET when asynchronous request processing has ended.

System_CAPS_pubinterfaceSystem_CAPS_privmethod IHttpHandler.ProcessRequest(HttpContext)

Enables processing of HTTP Web requests by a custom HTTP handler that implements the IHttpHandler interface.


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.

See Also

System.Web.Mvc Namespace

Return to top