首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用实体框架C#限制到数据库的连接

使用实体框架C#限制到数据库的连接
EN

Stack Overflow用户
提问于 2016-08-03 13:54:49
回答 1查看 2.2K关注 0票数 5

我有一个Azure数据库,它仅限于60个并发连接。我的问题是,我有几个爬虫填充这个数据库,以供我们的网站使用实体框架。

很快,多个爬虫就会耗尽所有的连接和错误。我尝试在连接字符串中设置最大池大小值,但这似乎没有对实际的数据库连接强制执行任何限制。

我可以将DbContext封装在一个单例中,但这样我就会将整个爬虫限制在一个连接上。

还有其他方法来实现这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-09 22:17:26

您正试图限制对共享资源的并发访问。通常使用的是信号量

若要跨单个框或应用程序执行此操作,可以使用信号量或SemaphoreSlim

但是,如果客户端运行在不同的框上,那么放置信号量的自然位置将是Server本身。有关实现它的一种方法,请参见这篇文章。在使用DbContext访问数据库之前,应用程序需要调用proc来获取锁。信号量限制需要59,才能保持一个读取信号量的连接。

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

https://stackoverflow.com/questions/38745658

复制
相关文章

相似问题

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