c# - ASP.NET Controller + Entity Framework 上下文 = 线程安全?

标签 c# asp.net-mvc multithreading entity-framework

全部,

我正在编写如下代码:

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 .

关于c# - ASP.NET Controller + Entity Framework 上下文 = 线程安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44058310/

相关文章:

c# - 重复匹配一个模式并返回所有结果

c# - 如何在 C# 中查询另一个正在运行的应用程序中的变量?

c# - 如何从通用列表创建 View ?

asp.net-mvc - 如何在错误 View 中显示堆栈跟踪?

c# - 超时模式——Thread.Abort 到底有多糟糕?

c# - MySql.Data.MySqlClient C# 控制台应用程序

c# - wpf 将标签内容绑定(bind)到排序的列表条目

ios - MVC 中的“/.well-known/apple-app-site-association”错误

java - 定时任务来安排多个作业

java - Java中有没有只允许peek的阻塞队列?