首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在web api 2中通过实体框架使用多线程

如何在web api 2中通过实体框架使用多线程
EN

Stack Overflow用户
提问于 2018-08-18 21:31:34
回答 1查看 547关注 0票数 1

我们将从现有的应用程序中创建一个产品。我们现有的应用程序使用的是实体框架6,Web API 2,ninject。因此,我们没有创建新的设计和使用新的技术,而是使用相同的技术,即实体框架6,Web API 2,ninject。会有繁重的数据库操作。我们能够将完整的操作分成几个小任务。所以我们决定使用多线程。我的问题是。

1)如何配置ninject在每次线程调用时创建一个新的dbcontext?

2)一旦线程完成其操作,数据库更改应立即生效,而不管其余线程是否已完成其操作。

3)一旦每个线程操作完成,线程就应该和它的dbcontext一起被释放。

4)在实体框架中使用多线程会有什么副作用吗?

一个编码的例子将非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2018-08-19 02:07:36

1)如何配置一个对象,以便在每次线程调用时创建一个新的dbcontext?

使用Tasks。在每个任务内部,在using块中创建一个新的DbContext。我想这意味着一个Transient作用域。

2)一旦线程完成其操作,数据库更改将立即生效,而不管其余线程是否已完成其操作。

在每个任务中使用单独的DbContext应该可以做到这一点。

4)在实体框架中使用多线程会有什么副作用吗?

您可能会在数据库中遇到锁定等待、资源耗尽或死锁。

dbcontext 3)一旦每个线程操作完成,线程就应该和它的

一起被释放。

对于不需要显式管理线程的任务。

A编码示例将非常受欢迎。

目前还不清楚为什么要在客户端中使用并行性。如果你能解释一下,包括关于你的数据库的细节,可能会有相关的编码示例。或者很明显,客户端的多线程是没有帮助的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51909181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档