c# – 操作是无状态的但控制器是无状态的?

前端之家收集整理的这篇文章主要介绍了c# – 操作是无状态的但控制器是无状态的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我认为我对MVC的一些理解存在致命缺陷.我一直认为控制器中的动作方法是无状态的,控制器本身是无状态的.

那么,每次调用任何动作时都会创建一个新的控制器实例吗?

解决方法

为每个进入的请求创建一个新的控制器实例.考虑这个:
public class HomeController : Controller
{
    public ActionResult Index()
    {
        return MoreIndex();
    }

    public ActionResult MoreIndex()
    {
        return View();
    }
}

进入/ Home / Index的请求将输入两个操作,但只创建一个控制器.进入/ Home / MoreIndex的请求将进入一个操作,并创建一个控制器.现在没有什么可以阻止您手动创建控制器并使其保持活动状态并重新使用它.但它永远不会出现在来自HTTP的实际请求的上下文中.

猜你在找的C#相关文章