ASP.NET 控制器什么时候被销毁?
When does an ASP.NET controller get destroyed?
根据 this answer,ASP.NET MVC 创建一个新的控制器实例 class 来响应每个请求。
我的问题是,控制器实例什么时候被销毁?
到目前为止,我一直假设(可能是错误的)这些实例在每个响应结束时被销毁,但是我遇到的一些数据库池问题让我认为它们可能被丢弃了集电极。有人对此有任何见解吗?
控制器留待垃圾收集器清理。
但是,如果您要在清理旧控制器之前发出新请求,则它不会影响您的新请求,因为将为该新请求创建具有新上下文的新控制器。
如果您遇到数据库问题,可能是因为您如何处理 reading/writing 后端的数据库。如果 A 在 B 发生变化之前实例化,则 DB 上下文 'A' 不知道另一个 DB 上下文 'B' 中发生的变化。不确定这是否是您遇到的问题。
根据 this answer,ASP.NET MVC 创建一个新的控制器实例 class 来响应每个请求。
我的问题是,控制器实例什么时候被销毁?
到目前为止,我一直假设(可能是错误的)这些实例在每个响应结束时被销毁,但是我遇到的一些数据库池问题让我认为它们可能被丢弃了集电极。有人对此有任何见解吗?
控制器留待垃圾收集器清理。 但是,如果您要在清理旧控制器之前发出新请求,则它不会影响您的新请求,因为将为该新请求创建具有新上下文的新控制器。
如果您遇到数据库问题,可能是因为您如何处理 reading/writing 后端的数据库。如果 A 在 B 发生变化之前实例化,则 DB 上下文 'A' 不知道另一个 DB 上下文 'B' 中发生的变化。不确定这是否是您遇到的问题。