加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:05:06 所属栏目:百科 来源:网络整理
导读:我认为我对MVC的一些理解存在致命缺陷.我一直认为控制器中的动作方法是无状态的,控制器本身是无状态的. 那么,每次调用任何动作时都会创建一个新的控制器实例吗? 解决方法 为每个进入的请求创建一个新的控制器实例.考虑这个: public class HomeController :
我认为我对MVC的一些理解存在致命缺陷.我一直认为控制器中的动作方法是无状态的,控制器本身是无状态的.

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读