WCF在预定义绑定中实现了标准的WSAtomicTranscation(WS-AT)协议和Microsoft专有的OleTx协议,这些协议可以用来在消息中加入事务状态的信息。我们可以指定将一个操作的代码放在事务范围里执行。
我们需要在Binding的配置节里指定,transcationFlow=true:
注意:任何被指定的必须在一个事务范围里执行的操作(OperationContract)都不能标记为单向方法(IsOneWay=true),因为在操作结束时,有关事务状态的信息必须传回给调用者。开发者也可以指出,当没有异常发生时,WCF应该自动为操作提交事务。
如果需要在服务实现的操作需要自己来提交事务,可以使用WCF的静态System.ServiceModel.OperationContext对象:
而客户端开发者可以使用System.Transcation命名空间提供的语法将服务的操作放进一个事务范围内。
using(TranscationScope ts = new TranscationScope(TranscationScopeOption.RequireNew))
{
client.DoSomething();
...
ts.Complete();
}
client.Close();
如果服务的操作支持事务,而且也配置了支持传送有关事务状态的绑定,那么客户端的事务直到服务操作决定提交时才会提交(TranscationScope的Complete被调用)。相反地,服务在客户端事务范围里对事务资源所做的任何操作都将被回滚。(客户端处理的过程中出现任何异常)
本系列链接:
WCF 学习总结1 -- 简单实例
WCF 学习总结2 -- 配置WCF
WCF 学习总结3 -- 实例模式
WCF 学习总结4 -- 用Duplex实现消息广播
WCF 学习总结5 -- 消息拦截实现用户名验证
WCF 学习总结6 -- WCF参数与返回值
WCF 学习总结7 -- 流模式实现文件上传
WCF 学习总结8 –- WCF 事务处理
分享到:
相关推荐
WCF 实例源代码------聊天室 WCF 实例源代码------聊天室
WCF服务编程(1-7).part1;WCF服务编程(8-10).part2
WCF与Ajax开发实践--构建REST WCF 讲义、Demo和专题讲座,对于javaScript如何调用WCF很有帮助的文档。
WCF服务编程(1-7).part1;WCF服务编程(8-10).part2
WCF简单实例--WCF简单实例--WCF简单实例--WCF简单实例--WCF简单实例--WCF简单实例--
最近项目需要,需要实现C++客户端和WCF服务器双工通信。但C++没有好用的WCF实现框架。经过一番折腾,想出了个通过COM与C#的WCF客户端通信的方法。拿出来分享一下。
Silverlight DataGrid使用WCF RIA Service实现Load-on-demand的数据加载.doc
WCF学习资料_DOC文档,从基础到复杂的介绍WCF知识;wcf学习之端点绑定;wcf学习之服务契约;wcf学习之异步调用;wcf学习之异常处理;WCF - ChannelFactory;WCF - Callback等等
WCF 项目应用连载[8] - 绑定、服务、行为 大数据传输与限流 - 下 (ServiceBehaviorAttribute) WCF 项目应用连载[9] - 契约中的委托 & 事件参数处理 WCF 项目应用连载[10] - 安全 X.509证书的使用 WCF 项目应用...
这是一个Ext框架,我对此框架很感兴趣。。。特别想了解一下。。。
WCF 是微软力推的通讯框架,它能够以 ASP.NET WebService 的方式实现 RESTful 方式的服务。但是缺陷是目前的版本不支持对 HTTP multipart 格式的自动解析。而不像传统的 ASP.NET WebService 可以自动解析 multipart ...
WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2
最近项目需要,需要实现C++客户端和WCF服务器双工通信。但C++没有好用的WCF实现框架。经过一番折腾,想出了个通过COM与C#的WCF客户端通信的方法。拿出来分享一下。 有不明白的请看博客:...
WCF 学习总结4 -- 用Duplex实现消息广播 详细参看:http://blog.csdn.net/fangxinggood/archive/2011/01/15/6142861.aspx#1667031
WCF学习笔记, 一步一步教你学习WCF
WCF事务的概述,WCF事务属性、事务管理、事务协议、事务管理器、实例模式与事务、事务编程概述和源码下载
WCF 学习总结7 -- 流模式(Streaming)实现文件上传 http://blog.csdn.net/fangxinggood/article/details/6164017
WCF服务编程10-2WCF服务编程10-2WCF服务编程10-2WCF服务编程10-2WCF服务编程10-2WCF服务编程10-2
wcf开发:WCF培训上课实例-带有宿主的WCF程序。WCF培训上课实例-带有宿主的WCF程序WCF培训上课实例-带有宿主的WCF程序WCF培训上课实例-带有宿主的WCF程序
里面包含WCF高级编程、WCF学习笔记、例子等