我收到以下错误
分布式事务管理器(MSDTC)的网络访问已经完成 禁用。请在安全性中启用DTC以进行网络访问 使用组件服务管理的MSDTC配置 工具。
当我尝试执行以下操作时
using (DataOneContext context1 = new DataOneContext())
{
code...
using (DataTwoContext context2 = new DataTwoContext())
{
more code...
}
}
当我将它们分开时,代码可以正常工作。但是为了让事情变得简单,一个人更容易在另一个人身上。有可能吗?
我想避免启用MSDTC。
DataOneContext和DataTwoContext是DBML文件中的表(抱歉,我不知道技术术语)。
每个上下文都连接到不同的服务器。
答案 0 :(得分:2)
我认为你可以通过共享连接(假设相同的服务器)来做到这一点。当事务使用不同的连接时,事务会自动升级为分布式事务。
using (DataOneContext context1 = new DataOneContext())
{
code...
using (DataTwoContext context2 = new DataTwoContext(context1.Connection))
{
more code....
}
}