通过上文WCF从理论到实践:事务的学习,我们了解了WCF中实现事务的一些基本常识,但WCF中的事务并不止那么简单,上文中我们欠缺了一个最重要的功能:事务投票,所谓事务投票就是一种灵活控制事务提交的方式,在上文中我们设置服务方法的TransactionAutoComplete为true,其实意味着方法在没有异常的情况下自动投赞成票,但有时我们希望当操作中只有某个数据满足具体条件的时候,才能赞同事务提交,这样上文的实现明显就不满足需求了,此时我们可以用OperationContext.Current.SetTransactionComplete();显示的进行投票。注意,WCF的事务必须在全票通过的时候才能得以提交。本文还是结合银行的例子 来演示一下事务投票,并且搭配一个漂亮的WPF客户端,可谓买一送一了,:)。
本文目的
进一步学习WCF事务
顺便体验一下WPF
本文适合读者
本文适合WCF中级用户,至少需要了解事务的基本常识和简单实现,初学者可以先阅读WCF从理论到实践:事务
进一步学习WCF事务
本文中,我们要模拟的现实情境如下,搭建一个联盟银行服务自助系统,这个系统提供在各个银行之间进行自由转帐的功能,按照惯例,系统分为四个层次,分别如下:
层次 | 项目 |
服务契约 | Jillzhang.Wcf.Transactions.Contracts |
服务端 | Jillzhang.Wcf.Transactions |
宿主程序 | Jillzhang.Wcf.Transactions.ICBC-用于模拟工商银行 Jillzhang.Wcf.Transactions.CCB-用于模拟建设银行 |
客户端 | Jillzhang.Wcf.BankClient – 包括一个漂亮的WPF窗体 |
时间: 2025-01-21 11:17:14