uri*_*rig 5 entity-framework asp.net-web-api
考虑一个ASP.NET Web API 2应用程序,它使用Entity Framework提供对几个数据库表的相当直接的访问.
在为大多数并发请求提供服务方面,对象生命周期的以下哪个选项最佳?
后续问题 - 如果我将要求更改为"需要最少量的DB服务器资源"该怎么办?什么是最好的选择?
uri*_*rig 2
基于对另一个问题的详细答复:
我的问题中的选项1和3完全无效。原因是DbContext不是线程安全的,多线程访问会带来数据状态不一致并抛出异常。即使在“每个线程”的情况下,ASP.NET Web API 也可能在多个线程之间任意转移单个请求的处理。
选项 2 -为每个传入请求实例化一个 DbContext - 是首选方法,因为它确保一次只有一个线程可以访问 DbContext。
归档时间:
11 年,3 月 前
查看次数:
2536 次
最近记录: