我用ASP.NET MVC3构建了一个网站,使用实体框架4.它应该是一个问题。多线程和实体框架
我的控制器都使用相同的DbContext类是这样的:
private aim_spg_dk_dbEntities db = new aim_spg_dk_dbEntities();
我想知道,这是否会误事,具有多用户的网站。如果100个用户回答问题,会发生什么?我应该使用线程,以及如何?
感谢
我用ASP.NET MVC3构建了一个网站,使用实体框架4.它应该是一个问题。多线程和实体框架
我的控制器都使用相同的DbContext类是这样的:
private aim_spg_dk_dbEntities db = new aim_spg_dk_dbEntities();
我想知道,这是否会误事,具有多用户的网站。如果100个用户回答问题,会发生什么?我应该使用线程,以及如何?
感谢
private aim_spg_dk_dbEntities db = new aim_spg_dk_dbEntities();
这是好的 - 要创建为每个请求一个新的DB上下文实例 - 那么每个用户将使用一个单独的数据库上下文实例。你不能做的是跨多个线程共享同一个数据库上下文实例(数据库上下文不是线程安全的)。
实体上下文将成为线程特定的并且执行语句作为事务。除非你在请求线程之间使用共享数据,否则没有什么可担心的。