gpt4 book ai didi

c# - MVC 4 中的多线程

转载 作者:行者123 更新时间:2023-11-30 15:27:43 26 4
gpt4 key购买 nike

我是 ASP.NET MVC(使用 4)的新手,有一些关于多线程的基本问题。

  1. 现在我已经编写了所有 Controller 。我应该明确地创建一个线程轮询并为每个传入请求分配一个线程吗?我读到一些东西表明这种多线程是在 MVC 中自动完成的,我不应该自己做。这是真的吗?

  2. 大多数请求会更改数据库(即上传文件)。这postDbContext 不是线程安全的,选择的答案是为每个线程创建一个新实例,这是我在 Controller 中所做的。如果 MVC 自动创建线程(问题 #1),这是否安全?

谢谢!

最佳答案

1) 你不必担心。

On the Web server, the .NET Framework maintains a pool of threads that are used to service ASP.NET requests. When a request arrives, a thread from the pool is dispatched to process that request. If the request is processed synchronously, the thread that processes the request is blocked while the request is being processed, and that thread cannot service another request.

来自这里:http://msdn.microsoft.com/en-us/library/ee728598(v=vs.100).aspx

2) 如果您为每个请求构建一个 DbContext,您应该没问题 - 在您的 Controller 的构造函数中执行此操作将为您执行此操作。 (如果你愿意,你也可以查看控制反转/依赖注入(inject)框架,但它不会改变原则。)

关于c# - MVC 4 中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26965017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com