我正在使用C#.net开发邮件演示应用程序。我得到了错误,因为我超过了最大连接的限制。在我的例子中,我需要将邮件逐个插入到数据库中,并且还需要根据计时器频繁地检索邮件。它可能有5-10个邮件帐户,每个帐户可能有数千封电子邮件。建议我管理sql连接的方法。
发布于 2015-08-21 14:10:28
你必须做三件事:
1.在您的连接字符串中包含以下元素:
pooled=true;Max Pool Size=100;2.仅当连接状态为关闭时才打开新连接:
If dbCon.ConnectionState<>ConnectionState.Open Then
dbCon.Open()
End If3.避免在循环中打开新的连接。如果您正在使用循环
发布于 2015-08-21 14:22:08
获取Nuget包:https://www.nuget.org/packages/Nelibur.Sword
ITinyThreadPool threadPool = TinyThreadPool.Create(x =>
{
x.MaxThreads = 2;
x.MultiThreadingCapacity = MultiThreadingCapacity.Global;
});然后,只需使用此threadPool执行进程数据库插入。而且,通过这种方式,您不需要依赖于数据库池。
threadPool.AddTask(() => Insert(document))https://stackoverflow.com/questions/32133244
复制相似问题