A new controller instance is created for each incoming request. Consider this:
public class HomeController : Controller { public ActionResult Index() { return MoreIndex(); } public ActionResult MoreIndex() { return View(); } }
The incoming request for /Home/Index introduces two actions, but only one controller is created. The request included in /Home/MoreIndex will go into one action and one controller will be created. Now, nothing prevents you from manually creating a controller, maintaining it, and reusing it. But this will never be in the context of the actual request coming from HTTP.
Simon belanger
source share