全部,
我正在写看起来像这样的代码:
public class UserController : AuthenticatedController
{
private MunicipalContext db = new MunicipalContext();
// GET: Users/Edit/5
public ActionResult Edit(int? id)
{
//Do stuff with db.Users
}
// Other action methods that do stuff with db.Users
}
来自Java背景,感觉就像Servlet和实例字段,并且开始在我的脑海中引发这种嗡嗡声。
我会遇到线程安全问题吗?
最佳答案
每个 Controller 将为每个请求创建一次,它们不是单例。线程之间没有共享实例成员。
因此,答案是否定的,代码没有线程问题,每次对UserController
的操作提出新请求时,都会创建一个新的UserController
和一个新的MunicipalContext
。
旁注:切记在不再使用Dispose()
实例时对其进行MunicipalContext
编码。更多信息here。