WCF中缺少的最主要的事情是发布/订阅,但为什么你必须建立它自己吗?NServiceBus,你把它弄出来。

下一个重要的事情是容错。异常导致WCF代理休息,需要“刷新”的代码,但调用数据容易被丢失。NServiceBus提供完整的系统回滚。不仅您的数据库保持一致,但是你的消息返回队列和不丢失有价值的数据。

对纯MSMQ

无论你是看MSMQ绑定对MSMQ WCF或直接编程,在这两种情况下,你必须处理pub / sub和所需的事务和异常管理完整的容错。你也必须处理与MSMQ长时间运行的流程。这就是一个CIO说:

我不得不说:NServiceBus是令人难以置信的产品,我只希望有更多的文档——我们看到它被使用在很多地方在我们自己的软件(不只是排队处理,这正是我们现在正试图迅速补丁),正在我们的新方向。我们工作在一个WCF方法45天,直到我们就把它扔了,用NServiceBus取代了一切,它工作在7工作日@ 99.99%。谢谢你创建这个伟大的框架。“Karell Ste-Marie,BrainBank Inc .的首席信息官

长时间运行的流程

WCF与WF提供一个集成的能力称为耐用的服务。WF提供了状态管理设施,钩到WCF提供的通信设施。不幸的是,事务和异常边界不指定的基础设施。

除非开发人员非常小心他们如何连接工作流活动,事务作用域,和通信活动,流程状态可以损坏,接触到远程服务和客户端。这是可能的原因之一是,WF被设计为一个通用的工作流引擎,而不是专门为长时间运行的流程。

因为常规业务逻辑很简单,自己足够稳定,NServiceBus是专门设计用于���理长时间运行的流程,所以他们是健壮和可伸缩的默认情况下,不需要开发人员做任何特殊的配置。

事务是在消息令牌基础上自动处理和固有的跨越所有通信和状态管理工作通过一个端点。异常会导致所有的工作要做,包括发送任何消息,因此远程服务和客户不接触不一致的数据。

互操作性

你可以公开NServiceBus端点为WCF服务只需一行代码和WCF的标准配置。所有你需要做的就是写一个空类,从NServiceBus继承。WcfService,指定类型的请求和响应,和NServiceBus的休息,如下:

public class MyService : NServiceBus.WcfService { }

NServiceBus,你从WCF获得你所需要的功能,如互操作性,没有放弃消息传递的可靠性和可伸缩性。

最新文章

  1. [New Portal]Windows Azure Virtual Machine (15) 在本地制作数据文件VHD并上传至Azure(2)
  2. CentOS5.5挂载本地ISO镜像
  3. Unity ShaderLab学习总结
  4. c语言的数学函数ceil、floor、round
  5. Template_Method
  6. .net下载文件方法
  7. ppt怎么换背景图片|PPT换背景设置方法
  8. android4.3环境搭建
  9. C#Console程序使用Ninject
  10. Linux OS7 常用
  11. 详解设计模式之工厂模式(简单工厂+工厂方法+抽象工厂) v阅读目录
  12. leecode第九题(回文数)
  13. Git for Windows之基础环境搭建与基础操作
  14. Android 获取加速传感器的值,并去除杂音
  15. HDU 6103 Kirinriki(尺取法)
  16. SEGGER J-Link install
  17. leetcode 45. 跳跃游戏 II JAVA
  18. Alter the structure of web pages with JavaScript
  19. APUE 学习笔记(四) 标准I/O库
  20. webpack 错误心得

热门文章

  1. AngularJs-ui modal 传参数
  2. 文件重定向函数freopen
  3. ogre世界坐标鱼屏幕坐标相互转换
  4. 点滴积累【SQL Server】---SQL语句操作约束
  5. POJ 2395 Out of Hay 草荒 (MST,Kruscal,最小瓶颈树)
  6. matlab中矩阵和向量的创建
  7. 09day2
  8. 【转】Bootloader之uBoot简介(转)
  9. 配置Linux 11G R2 RAC NTP服务
  10. Ruby on Rail 开发入门