Export (0) Print
Expand All

MvcHandler Class

Selects the controller that will handle an HTTP request.

System.Object
  System.Web.Mvc.MvcHandler

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

type MvcHandler =  
    class 
        interface IHttpAsyncHandler 
        interface IHttpHandler 
        interface IRequiresSessionState 
    end

The MvcHandler type exposes the following members.

  NameDescription
Public methodMvcHandlerInitializes a new instance of the MvcHandler class.
Top

  NameDescription
Public propertyStatic memberDisableMvcResponseHeaderGets or sets a value that indicates whether the MVC response header is disabled.
Protected propertyIsReusableGets a value that indicates whether another request can use the IHttpHandler instance.
Public propertyRequestContextGets the request context.
Top

  NameDescription
Protected methodAddVersionHeaderAdds the version header by using the specified HTTP context.
Protected methodBeginProcessRequest(HttpContext, AsyncCallback, Object)Called by ASP.NET to begin asynchronous request processing.
Protected methodBeginProcessRequest(HttpContextBase, AsyncCallback, Object)Called by ASP.NET to begin asynchronous request processing using the base HTTP context.
Protected methodEndProcessRequestCalled by ASP.NET when asynchronous request processing has ended.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Protected methodProcessRequest(HttpContext)Processes the request by using the specified HTTP request context.
Protected methodProcessRequest(HttpContextBase)Processes the request by using the specified base HTTP request context.
Public methodToString (Inherited from Object.)
Top

  NameDescription
Public fieldStatic memberMvcVersionHeaderNameContains the header name of the ASP.NET MVC version.
Top

  NameDescription
Explicit interface implemetationPrivate methodIHttpAsyncHandler.BeginProcessRequestCalled by ASP.NET to begin asynchronous request processing using the base HTTP context.
Explicit interface implemetationPrivate methodIHttpAsyncHandler.EndProcessRequestCalled by ASP.NET when asynchronous request processing has ended.
Explicit interface implemetationPrivate propertyIHttpHandler.IsReusableGets a value that indicates whether another request can use the IHttpHandler instance.
Explicit interface implemetationPrivate methodIHttpHandler.ProcessRequestEnables processing of HTTP Web requests by a custom HTTP handler that implements the IHttpHandler interface.
Top

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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft