我需要为 .Net 4.5 Web 应用程序实现连接池机制,该应用程序分别使用Cassandra和cassandra-sharp进行数据存储和数据访问。我可以看到两个标准选项(暂时忽略 Spring.Net):
所以:
- 你会推荐什么?System.Data 看起来很痛苦,有点像黑匣子,但 COM+ 似乎是遗留问题?Spring.Net对象池会是更好的选择吗?
- 如果我实现 System.Data 并使用连接字符串,我是否只需通过遵循 DbConnection 中的属性和方法来确定需要实现哪些类?或者是否有更多的设置阶段,例如特殊的连接字符串。
- 我需要确保池中严格只有一个重用连接,并且它能够被异步访问。这是 System.Data 的连接字符串设置吗?甚至可以使用任何一种方法进行异步访问吗?
- System.Data 中有很大一部分仅与关系数据库相关,例如事务。在实现不受支持的方法和属性时,哪个最不可能破坏池:抛出 NotSupportedException 或存根它们?