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获得你所需要的功能,如互操作性,没有放弃消息传递的可靠性和可伸缩性。

NServiceBus教程-NServiceBus和WCF的更多相关文章

  1. nservicebus教程-目录

    表的内容 开始 坚持NServiceBus 扩展 每天 举办 管理和监控 发布订阅 长时间运行的流程 定制 版本控制 常见问题解答 样品 开始 概述 NServiceBus一步一步向导 架构原则 事务 ...

  2. NServiceBus教程-持久化配置

    当配置在NServiceBus v5持久性,秩序是非常重要的.最后赢得持久性配置选项.我们看看一些例子. 示例1 在本例中最后一个配置选项将会覆盖前面的所有选项. v5.2 v5.0 编辑 var c ...

  3. NServiceBus教程-持久化

    NServiceBus的各种特性需要持久性.其中有超时.传奇和订阅存储. 四个持久化技术在NServiceBus在使用: RavenDB nHibernate 内存中 MSMQ 读到安装Raven D ...

  4. NServiceBus教程-消息传递与处理

    nservicebus"的容错默认"设计的一部分,基础设施管理事务自动所以你不需要记住所有的线程和状态管理要素配置. 客户端和服务器 理想情况下,服务器代码处理消息事务,但它往往不 ...

  5. WCF基础教程——vs2013创建wcf应用程序

    引言   近期在项目中见到了师哥们常常谈到的WCF这方面的知识.当时在写程序的时候也没有理解wcf究竟是个什么东西? 以及我们为什么在项目中会採用这种框架来实现,仅仅是依照师哥他们写好的代码编写同样格 ...

  6. WCF系列教程之初识WCF

    本随笔参考自WCF编程系列(一)初识WCF,纯属读书笔记,加深记忆. 1.简介:Windows Communication Foundation(WCF)是微软为构建面向服务的应用程序所提供的统一编程 ...

  7. 使用NServiceBus开发分布式应用

    系列主题:基于消息的软件架构模型演变 NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)--企业服务总线.NSe ...

  8. SOA、ESB、NServiceBus、云计算 总结

    SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统.与此同时,SOA 还实现了整合资源,资源复用. SO ...

  9. NServiceBus开发

    使用NServiceBus开发分布式应用 系列主题:基于消息的软件架构模型演变 NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Ser ...

随机推荐

  1. poj - 2431 Expedition (优先队列)

    http://poj.org/problem?id=2431 你需要驾驶一辆卡车做一次长途旅行,但是卡车每走一单位就会消耗掉一单位的油,如果没有油就走不了,为了修复卡车,卡车需要被开到距离最近的城镇, ...

  2. leetcode:Plus One

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  3. python——no module named XX

    加PYTHONPATH吧,新建一个系统环境变量,把你的目录复制进去即可

  4. Spring MVC的UrlBasedViewResolver和InternalResourceViewResolver

    Spring MVC使用ViewResolver来根据controller中返回的view名关联到具体的View对象.使用View对象来渲染返回值以生成最终的视图,如html,json或pdf等. S ...

  5. Asp.Net验证码2

    using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System. ...

  6. 解决iis出现这个问题-2147467259 (0x80004005)

    在运行中运行下面命令就可解决问题 regsvr32 vbscript.dllregsvr32 jscript.dllregsvr32 %windir%\system32\inetsrv\asp.dll

  7. Volley : "参数param:{ inoutNo:inoutNo ,whcode:’’}

    private void fuzzySearch() { mRequestQueue = Volley.newRequestQueue(getActivity()); String str = Sha ...

  8. BZOJ 1935 园丁的烦恼

    离线,BIT. #include<iostream> #include<cstdio> #include<cstring> #include<algorith ...

  9. BZOJ 4285 使者

    我TM再也不写BIT套主席树了.... #include<iostream> #include<cstdio> #include<cstring> #include ...

  10. I.MX6 Android backlight modify by C demo

    /************************************************************************** * I.MX6 Android backligh ...