因此,根据我上一个问题的答案,如果在事务期间打开多个连接,即使这些连接都具有相同的连接字符串,事务也会从 LTM 提升到 DTC 。
那么,我的下一个问题是,可以采用哪些策略来避免这种“功能”?在我看来,根据资源使用情况,我想确保尽可能多地使用 LTM。在正确面向对象的业务逻辑层中,我能想到的唯一方法是在数据访问层创建一个请求级静态连接对象,并在调用之间共享该对象,直到请求完成(这里的隐含知识是业务对象实体是谨慎的并且不知道它们会被调用的顺序,另外一个事实是人们不希望将连接对象冒泡到业务对象层,因为那将是数据存储实现细节渗入另一层)。
还有其他人有什么想法不会完全破坏 n 层系统的层封装吗?