我的代码如下:
using (TransactionScope tsTransScope = new TransactionScope())
{
bcAdvertiser.SaveToTraffic();
bcAdvertiser.SaveToDb();
tsTransScope.Complete();
}
当我对数据库做任何事情时,比如打开一个连接,我得到这个错误:
{System.Runtime.InteropServices.COMException (0x8004D01B): The Transaction Manager is not available. (Exception from HRESULT: 0x8004D01B)
at System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy(String nodeName, Guid resourceManagerIdentifier, IntPtr managedIdentifier, Boolean& nodeNameMatches, UInt32& whereaboutsSize, CoTaskMemHandle& whereaboutsBuffer, IResourceManagerShim& resourceManagerShim)
at System.Transactions.Oletx.DtcTransactionManager.Initialize()}
所以我进入组件服务,右键单击“我的电脑”,选择“属性”,进入MSDTC选项卡,我唯一得到的是:
我没有获得带有安全选项的传统对话框以及所有这些。我尝试切换到SQL Server运行的实际框的远程MSDTC协调器(通过单击“选择”按钮),这是一个Windows Server 2003 R2框。
我还检查了遥控盒上的设置,一切都很好。这曾经适用于Windows 7,但现在使用Windows 8.1更新1,它没有。
我错过了一些简单的东西吗?