c# - ASP.NET Controller 何时被销毁?

标签 c# asp.net-mvc garbage-collection

<分区>

根据 this answer , ASP.NET MVC 创建 Controller 类的新实例来响应每个请求。

我的问题是, Controller 实例何时被销毁?

到目前为止,我一直假设(可能是错误的)这些实例在每个响应结束时被销毁,但我遇到的一些数据库池问题让我认为它们可能留给了垃圾收集器。有人对此有任何见解吗?

最佳答案

Controller 留待垃圾收集器清理。 但是,如果您要在清理旧 Controller 之前发出新请求,那么它应该不会影响您的新请求,因为将为该新请求创建具有新上下文的新 Controller 。

如果您遇到数据库问题,可能是因为您在后端处理读取/写入数据库的方式。如果 A 在 B 中发生更改之前实例化,则数据库上下文“A”不知道另一个数据库上下文“B”中发生的更改。不确定这是否是您遇到的问题。

关于c# - ASP.NET Controller 何时被销毁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31800912/

相关文章:

c# - 我的一些基于 asp.net api 属性的路由返回 404(未找到)

asp.net-mvc - ASP.NET MVC 2.0 中的 OutputCache 和日志记录

java - 错误java.lang.OutOfMemoryError:超出了GC开销限制

jquery - ASP.NET MVC 将多个参数从 getJson 传递到 Controller

javascript - 了解 JavaScript 中的内存管理,Mozilla

python - Numpy:切片后的垃圾收集

c# - 具有依赖注入(inject)设计的处理程序工厂

javascript - 客户端未在 SignalR 2.2 应用程序中接收消息

c# - XPath 选择匹配的节点

c# - 当首先使用带有数据注释的 MVC 代码时,如何在显示名称中包含 html 标记?