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 - 2377 Bad Cowtractors&&poj 2395 Out of Hay(最大生成树)

    http://poj.org/problem?id=2377 bessie要为FJ的N个农场联网,给出M条联通的线路,每条线路需要花费C,因为意识到FJ不想付钱,所以bsssie想把工作做的很糟糕,她 ...

  2. [HIHO1039]字符消除(字符串,枚举,模拟)

    题目链接:http://hihocoder.com/problemset/problem/1039 思路:枚举所有字符更新的位置和ABC三种修改方案,之后再模拟消除规则,一步一步去消除.直到无法消除, ...

  3. 头文件中的#ifndef/#define/#endif 的作用

    在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误.在头文件中实用#ifndef #define #endif能避免头文件的重定 ...

  4. VS2013控制台一闪而过问题解决方法

    1.修改项目配置,右键点击项目: 2.在右键菜单中选择属性,然后在弹出的对话框左侧列表中中选择 “配置属性”-->“链接器”-->“系统”然后在右侧的列表中,在第一项”子系统“的值中选择” ...

  5. leetcode:Reverse Linked List II

    Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...

  6. 利用XPath读取Xml文件

    之所以要引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素.可以把XPath比作文件管理路径:通过文件管理路 径,可以按照一定的规则查找到所需要的文件:同样,依据X ...

  7. 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )

    从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 )   我现在在Coursera上面学data science 中的R programming,过去很少接 ...

  8. 微信朋友圈如何同时分享(图片+文字) Android版

    以下是:微信朋友圈SDK 分享图片的代码,但只能分享图片,不能分享文字,如何才能图片和文字同时分享?求各位大神指教! public class MainActivity extends Activit ...

  9. [Android] Android开发优化之——使用软引用和弱引用

      Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为:强引用.软引用.弱引用和虚引用. 这里重点介绍一下软引用和弱引用. ...

  10. HDU 4324 (拓扑排序) Triangle LOVE

    因为题目说了,两个人之间总有一个人喜欢另一个人,而且不会有两个人互相喜欢.所以只要所给的图中有一个环,那么一定存在一个三元环. 所以用拓扑排序判断一下图中是否有环就行了. #include <c ...