首页 新闻 会员 周边 捐助

MVC中,当多个用户访问同一个页面时,是给每个用户分配一个Controller,还是共用一个Controller?

0
悬赏园豆:5 [已解决问题] 解决于 2013-11-20 12:45

如题,因为觉得两种方法在理论上都是可行的。但是实际是怎么样的呢?

问题补充:

我要问的是实际运行中的情况。

例如,使用VS新建一个MVC站点,不做任何修改直接发布。那么此时当有多个用户访问Home时,服务器中是一个HomeController还是多个?如果是一个,那么是怎么处理并发的?

飞鸟_Asuka的主页 飞鸟_Asuka | 菜鸟二级 | 园豆:393
提问于:2013-11-19 22:17
< >
分享
最佳答案
0

不好意思搞错了,是每个用户都有一个Control.自己做了个测试

public class HomeController : Controller
    {
        //
        // GET: /Home/
        public string x = null;
        public ActionResult Index()
        {
            if (x == null)
            {
                x = "11";
            }
            else
            {
                x = "22";
            }
            if (HttpContext.User.Identity.Name != "")
            {
                return View("Index");//, HttpContext.User.Identity.Name);
            }
            ViewBag.test = x;
            return View();
        }

    }

做了个测试,一个页面在笔记本上打开,然后我用自己的IPAD打开,ViewBag.test的值都是11. 可见Control类重新生成了对象,而先前的对象应该在用户读取完毕后自动销毁吧。不然1000用户同时访问岂不是完了

收获园豆:5
大芝麻 | 初学一级 |园豆:4 | 2013-11-20 00:00

嗯,有代码就好懂多了

谢谢

飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-11-20 12:45
其他回答(2)
0

都可以啊,共用一个好啊

男人要爽 | 园豆:6 (初学一级) | 2013-11-19 22:45

我说的是MVC中实际的情况。

支持(0) 反对(0) 飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-11-19 22:47
0

同一个control就好了,可以再control内部进行不同的逻辑处理

平常心队长 | 园豆:1113 (小虾三级) | 2013-11-20 09:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册