如题,因为觉得两种方法在理论上都是可行的。但是实际是怎么样的呢?
我要问的是实际运行中的情况。
例如,使用VS新建一个MVC站点,不做任何修改直接发布。那么此时当有多个用户访问Home时,服务器中是一个HomeController还是多个?如果是一个,那么是怎么处理并发的?
不好意思搞错了,是每个用户都有一个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用户同时访问岂不是完了
嗯,有代码就好懂多了
谢谢
都可以啊,共用一个好啊
我说的是MVC中实际的情况。
同一个control就好了,可以再control内部进行不同的逻辑处理