你的位置:首页 > 软件开发 > ASP.net > 如何创建一个简单的基于OleTx协议的WCF事务实例

如何创建一个简单的基于OleTx协议的WCF事务实例

发布时间:2015-07-20 18:00:05
由于工作需要,最近研究了一下WCF分布式事务方面的技术,自己做了一个基于OleTx协议的WCF事务实例,供大家参考。 一、实例背景 本实例以大家熟悉的银行转账业务为背景,在几台不同的机器上部署一套基于OleTx协议的WCF分布式服务。 ...

    由于工作需要,最近研究了一下WCF分布式事务方面的技术,自己做了一个基于OleTx协议的WCF事务实例,供大家参考。

    一、实例背景

    本实例以大家熟悉的银行转账业务为背景,在几台不同的机器上部署一套基于OleTx协议的WCF分布式服务。

    本例需要A、B、C、D四台计算机,其中A表示SqlServer服务器,B部署取款服务,C部署存款服务,D部署客户端程序(调用存款和取款服务),D同时直接A进行日志写入。一次转账操作分为三个部分:存款、取款、写日志,这三部分组成一个转账事务,要么全部成功,要么全部失败。

    二、WCF服务端代码

    创建一个WCF服务项目OleTxService。

    1、契约

    取款服务契约如下:

如何创建一个简单的基于OleTx协议的WCF事务实例如何创建一个简单的基于OleTx协议的WCF事务实例
 1 using System.Net.Security; 2 using System.ServiceModel; 3 using OleTxService.Models; 4  5 namespace OleTxService 6 { 7   /// <summary> 8   /// 取款服务接口 9   /// </summary>10   [ServiceContract(SessionMode = SessionMode.Required)]11   public interface IWithDrawService12   {13     /// <summary>14     /// 取款操作15     /// </summary>16     /// <param name="accountId">取款账号</param>17     /// <param name="amount">取款金额</param>18     [OperationContract]19     [TransactionFlow(TransactionFlowOption.Mandatory)]20     [FaultContract(typeof(MyFault), ProtectionLevel = ProtectionLevel.None)]21     void Withdraw(get='_blank'>string accountId, double amount);22   }23 }

原标题:如何创建一个简单的基于OleTx协议的WCF事务实例

关键词:wcf

wcf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。