`
jiasongmao
  • 浏览: 679676 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

MSDTC 分布式事务错误:此事务已明地或暗地被确认或终止

 
阅读更多

处理方法:

在数据库服务器(MS   SQL)上的   hosts   文件中加入   Web   服务器(IIS)   的   IP   和   主机名   映射对

1.
定位到   C:\WINDOWS\system32\drivers\etc   目录

2.
记事本打开   hosts   文件(没有扩展名)

3.
添加一行   Web   服务器   IP   和   主机名映射,   如  

10.10.1.118   MyWebServerHostName

4.
OK!

 

 

 

TransactionScope示例:

/// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="sendUserId"></param>
        /// <param name="toUser">格式7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName,7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName</param>
        /// <param name="content"></param>
        /// <param name="sendedStatus">表示已送</param>
        /// <returns></returns>
        public static int sendMessage(string sendUserId, string toUser, string content, string sendedStatus)
        {           
            int receiveCount = 0;
            TransactionOptions transactionOption = new TransactionOptions();

            //设置事务隔离级别
            transactionOption.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;

            // 设置事务超时时间为60秒
            transactionOption.Timeout = new TimeSpan(0, 0, 60);

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, transactionOption))
            {
                try
                {
                    //在这里实现事务性工作
                    //发送消息
                    insertMessage(sendUserId, toUser, content, sendedStatus);

                    //在接收信息表中插入记录
                    receiveCount += insertReceiveMessage(userids[0], sendUserId, content, "0");
                   
                    // 没有错误,提交事务
                    scope.Complete();
                }
                catch (Exception ex) {
                    throw new Exception("发送信息异常,原因:"+ex.Message);
                }finally{
                    //释放资源
                    scope.Dispose();
                  }                               
            }
            return receiveCount;
        }

 

分享到:
评论

相关推荐

    导入Microsoft分布式事务处理协调器MSDTC失败的解决方案

    大家跨服务器加事务的时候经常遇到以下报错:导入Microsoft分布式事务处理协调器MSDTC,网上大部分教程都是服务器配置msdtc,但是发现两个服务器都配置之后还是不行,可参照此图片解决,已验证过,不好用找我,最低...

    SQLServer分布式事务服务器的配置.doc

    MSDTC(Distributed Transaction Coordinator)服务是 SQL Server 分布式事务的核心组件,负责管理分布式事务。要使用分布式事务,必须在参与的双方服务器启动 MSDTC 服务。 知识点:MSDTC 服务是 SQL Server ...

    TransactionScope和分布式事务

    TransactionScope是.NET框架2.0引入的一个类,用于简化分布式事务的管理,它使得开发人员能够在.NET环境中方便地创建事务性的代码。 然而,分布式事务并非万能解决方案。正如描述中提到的,分布式事务并不能完全...

    net 2.0 分布式事务解决方案有原代码

    在.NET 2.0框架中,分布式事务处理是解决跨越多个数据库、应用程序或服务的事务一致性问题的关键技术。本文将深入探讨.NET 2.0下的分布式事务解决方案,并结合提供的源代码进行分析。 分布式事务允许在不同的资源...

    解决分布式事务详细文档

    分布式事务是处理跨越多个数据库或服务的复杂操作的关键技术,特别是在两个系统之间进行数据传输时。本文档将深入探讨如何实现分布式事务,并提供一个具体的示例来说明其工作原理。 首先,分布式事务的运行需要微软...

    分布式LinQ事务

    分布式LinQ事务是一种在分布式系统中管理数据一致性的重要技术,它是.NET Framework中LINQ(Language Integrated Query)功能的扩展,允许跨多个数据源执行复杂的事务操作。本文将深入探讨分布式LinQ事务的概念、...

    分布式事务处理方案

    多服务器实现分布式事务功能! 安装DTC组件,设置MSDTC,注意:双方都要启动MSDTC服务,MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135...

    分布式事务处理在.NET中的应用.pdf

    在.NET环境中,分布式事务处理尤其重要,因为许多应用需要跨越多个数据库、服务或资源进行操作,这些操作必须整体视为一个事务。 事务在数据库系统中最早得到应用,其核心特征是确保事务中的所有工作项完成后,数据...

    MSDTC不能启动的几个解决方法

    1. **检查依赖服务**:确认MSDTC服务所依赖的其他服务(如RPC服务)是否已正确启动。 2. **检查网络配置**:确保网络配置正确无误,特别是对于需要跨机器通信的应用程序。 3. **查看事件日志**:通过查看系统的事件...

    如何进入MSDTC服务

    分布式事务协调器(MSDTC,Microsoft Distributed Transaction Coordinator)是Windows操作系统中的一项重要服务,它负责协调跨越多个资源管理器(如数据库、消息队列、文件系统等)的分布式事务处理。MSDTC确保在...

    SQLSERVER分布式事务使用实例

    当连接发出后续COMMIT TRANSACTION或–ROLLBACK TRANSACTION语句时,主控服务器请求MSDTC在所涉及的服务器间管理–分布式事务的完成 –SQLSERVER使用链接服务器或者远程服务器作为分布式事务处理的平台,提供–远程...

    6月22日PM WCF服务-分布式事务、自定义对象传递、基础使用示例.rar

    标题中的“WCF服务-分布式事务、自定义对象传递、基础使用示例”揭示了本主题涵盖的关键知识点,包括Windows Communication Foundation (WCF)服务的三个方面:分布式事务处理、自定义对象传递以及基础使用示例。...

    服务器×××上的MSDTC不可用解决办法1

    MSDTC( Distributed Transaction Coordinator,分布式交易协调器)是一种协调跨多个数据库、消息队列、文件系统等资源管理器的事务的服务。该服务的进程名为Msdtc.exe,依赖于Remote Procedure Call(RPC)和...

    Transaction 分布式事物的应用举例

    自定义事物类,以及 System....System.Transactions 基础结构通过支持在 SQL Server、ADO.NET、MSMQ 和 Microsoft 分布式事务协调器 (MSDTC) 中启动的事务,使事务编程在整个平台上变得简单和高效、看来没别的对象了。

    服务器的MSDTC不可用解决办法

    MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器

    用VC#实现分布式COM+服务之实现数据库分布事务

    总之,通过VC#实现的COM+分布式服务,结合MSDTC的事务管理能力,可以有效地处理复杂的分布式数据库事务。这是一项对于构建高可用、高并发的企业级应用至关重要的技能。通过深入理解和实践,开发者能够构建出更健壮、...

    TransactionScope出错

    `TransactionScope`是.NET框架提供的一种事务管理工具,它使得开发者可以轻松地在代码中创建分布式事务,确保数据库操作的一致性和完整性。然而,在处理大数据量时,`TransactionScope`可能会遇到一些问题,导致错误...

    SQL Server 分布式数据库的问题和解决方法 msdtc 配置

    SQL Server 分布式数据库的问题和解决方法 msdtc 配置

    msdtc解决 服务不能启动

    MSDTC(Distributed Transaction Coordinator),即分布式事务协调器,是一种协调跨多个数据库、消息队列、文件系统等资源管理器的事务服务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web ...

Global site tag (gtag.js) - Google Analytics