相关疑难解决方法(0)

ASP.NET MVC控制器生命周期

我的理解是,在每个Web请求期间都不会调用控制器的构造函数.假设这是真的,控制器的生命周期是什么?是应用程序启动时"构造",然后使用每个Web请求注入的requestcontext进行缓存和调用吗?

为了清楚起见,我不是在问如何模拟构造函数行为,我使用OnActionExecuting事件来启动我通常在构造函数中执行的操作.另外,我确实在控制器上使用构造函数进行单元和系统测试.

谢谢!

c# asp.net-mvc

63
推荐指数
3
解决办法
3万
查看次数

实体框架DbContext和线程安全

我需要在单个事务中更新我的数据库中的几个表,并且我认为使用DbContext.SaveChanges应该是这样做的方法.

但是我还读到,它的生命周期DbContext应该尽可能短,因为它会随着时间的推移而增加,因为它会加载更多的实体.

我还读到,为了使其成为线程安全的,每个动作都应该有自己的DbContext.

我应该有一个DbContext,因为我想改变,并呼吁每个表SaveChanges上的每一个DbContext?最后一次SaveChanges通话是否会覆盖之前通话的更改?

最好的方法是什么?(我需要这个网站)

c# asp.net-mvc multithreading entity-framework

7
推荐指数
1
解决办法
8667
查看次数

ASP.NET控制器什么时候被销毁?

根据这个答案,ASP.NET MVC创建了一个控制器类的新实例来响应每个请求.

我的问题是,控制器实例什么时候被销毁?

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

c# asp.net-mvc garbage-collection

3
推荐指数
1
解决办法
480
查看次数

NET Core:MVC 控制器默认是单例吗?

我想知道.NET MVC Core的Controller类是否默认为Singleton?

如果不是,那么框架是否会为每个请求创建多个 Controller 类对象?创建此类类的新实例不是一种开销和成本更高吗?

在 Java 等其他编程语言中,仅创建一个控制器类实例 (Servlet),并且每个请求都由一个新线程处理。.Net 中不是很相似吗?

.net c# .net-core

3
推荐指数
1
解决办法
1549
查看次数