asp.net - 事务管理器已禁用对远程/网络事务的支持

标签 asp.net vb.net transactionscope

我正在使用 SQL Server 和 ASP.NET。我有以下功能:

Using js = daoFactory.CreateJoinScope()
    Using tran = New Transactions.TransactionScope()
        '...
        tran.Complete()
    End Using
End Using

但是,会引发以下异常:

The transaction manager has disabled its support for remote/network transactions.

JoinScope 说明:

Public Class JoinScope
    Implements IJoinScope
    Implements IDisposable
    '...
End Class

我在具有相同环境的另一个应用程序中以这种方式工作没有问题,但在这里我遇到了这个问题。我可以做什么来解决这个问题?

最佳答案

确保“分布式事务协调器”服务已启动 在数据库和客户端上运行。 另请确保选中“网络 DTC 访问”、“允许远程客户端”、 “允许入站/出站”和“启用 TIP”。

为 MS DTC 事务启用网络 DTC 访问

  1. 打开组件服务管理单元。

    要打开组件服务,请单击“开始”。在搜索框中,键入 dcomcnfg,然后按 Enter。

  2. 展开控制台树以找到您要为其启用网络 MS DTC 访问的 DTC(例如,本地 DTC)。

  3. 在“操作”菜单上,单击“属性”。

  4. 单击“安全”选项卡并进行以下更改: 在“安全设置”中,选中“网络 DTC 访问”复选框。

    在事务管理器通信中,选中“允许入站”和“允许出站”复选框。

关于asp.net - 事务管理器已禁用对远程/网络事务的支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130767/

相关文章:

c# - 跨进程使用事务

javascript - Jquery 文件上传不适用于 asp.net 中继器的每一行

c# - .aspx 中的 URL 路由

vb.net - 与此 C# 代码等效的 VB.NET 是什么?

c# - 按下 Button1 的边缘时,MessageBox 有时无法打开

mysql - 按数据库中的 Emp_ID 和信用日期插入最短日志时间和最长日志时间

c# - TransactionScope 的优点和缺点是什么?

c# - TransactionScope:避免分布式事务

c# - ASP MVC MsSql 到 MySQL 迁移

javascript - 在 javascript 确认的所有选项卡中重置计时器