为什么我的TransactionScope不起作用?

时间:2014-05-02 21:09:42

标签: c# .net database msdtc

我的代码如下:

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选项卡,我唯一得到的是:

enter image description here

我没有获得带有安全选项的传统对话框以及所有这些。我尝试切换到SQL Server运行的实际框的远程MSDTC协调器(通过单击“选择”按钮),这是一个Windows Server 2003 R2框。

我还检查了遥控盒上的设置,一切都很好。这曾经适用于Windows 7,但现在使用Windows 8.1更新1,它没有。

我错过了一些简单的东西吗?

0 个答案:

没有答案