首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当应用程序有多个调用时,如何管理连接池限制?

当应用程序有多个调用时,如何管理连接池限制?
EN

Stack Overflow用户
提问于 2015-08-21 13:53:21
回答 2查看 78关注 0票数 0

我正在使用C#.net开发邮件演示应用程序。我得到了错误,因为我超过了最大连接的限制。在我的例子中,我需要将邮件逐个插入到数据库中,并且还需要根据计时器频繁地检索邮件。它可能有5-10个邮件帐户,每个帐户可能有数千封电子邮件。建议我管理sql连接的方法。

EN

回答 2

Stack Overflow用户

发布于 2015-08-21 14:10:28

你必须做三件事:

1.在您的连接字符串中包含以下元素:

代码语言:javascript
复制
pooled=true;Max Pool Size=100;

2.仅当连接状态为关闭时才打开新连接:

代码语言:javascript
复制
 If dbCon.ConnectionState<>ConnectionState.Open Then
     dbCon.Open()
 End If

3.避免在循环中打开新的连接。如果您正在使用循环

票数 0
EN

Stack Overflow用户

发布于 2015-08-21 14:22:08

获取Nuget包:https://www.nuget.org/packages/Nelibur.Sword

代码语言:javascript
复制
ITinyThreadPool threadPool = TinyThreadPool.Create(x =>

    {
        x.MaxThreads = 2;
        x.MultiThreadingCapacity = MultiThreadingCapacity.Global;
    });

然后,只需使用此threadPool执行进程数据库插入。而且,通过这种方式,您不需要依赖于数据库池。

代码语言:javascript
复制
threadPool.AddTask(() => Insert(document))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32133244

复制
相关文章

相似问题

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