c# – 创建连接(对象)池 – 要使用的任何库?

c# – 创建连接(对象)池 – 要使用的任何库?,第1张

概述我们有一个第三方软件,它使用一堆内部中间件和服务连接到外部数据库.通过这个API,我只有一些关于它在联系Oracle DB时使用的连接对象的信息. 更新:这不是连接到Oracle的池.这是一个对象/连接池,用于处理大量统计数据的软件,而这些统计数据又与Oracle有自己的连接.我们需要池化的原因是这个软件每秒可以访问50-200次,实例化Initiate对象可能需要20多秒. 我想知道的是,如果. 我们有一个第三方软件,它使用一堆内部中间件和服务连接到外部数据库.通过这个API,我只有一些关于它在联系Oracle DB时使用的连接对象的信息.

更新:这不是连接到Oracle的池.这是一个对象/连接池,用于处理大量统计数据的软件,而这些统计数据又与Oracle有自己的连接.我们需要池化的原因是这个软件每秒可以访问50-200次,实例化Initiate对象可能需要20多秒.

我想知道的是,如果.NET有任何类我可以继承/使用它来帮助我构建一个比当前编写的更好的对象池系统.我编写自己的问题没有问题,但如果我能从一个人继承,我宁愿不重新发明轮子.

注意,这几乎是对象池,但对象具有连接能力.

更新:
创建池后,当前系统将起作用.它有一个工作线程,确保池清洁和工作.当应用程序长时间没有活动时,问题就出现了.当一个请求进来时,系统会查找一个连接,并且它们都被清除了(我相信因为缓存已经消失).因此它会重新生成它们,但这可能需要1分钟才能完成100个连接,并且请求可能因为通过SOA访问而超时.

解决方法 您可以使用对象池设计模式实现自己的:
http://sourcemaking.com/design_patterns/object_pool

或使用这个:
C# Object Pooling Pattern implementation

总结

以上是内存溢出为你收集整理的c# – 创建连接(对象)池 – 要使用的任何库?全部内容,希望文章能够帮你解决c# – 创建连接(对象)池 – 要使用的任何库?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1233871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存