NServiceBus教程-NServiceBus和WCF
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的更多相关文章
- nservicebus教程-目录
表的内容 开始 坚持NServiceBus 扩展 每天 举办 管理和监控 发布订阅 长时间运行的流程 定制 版本控制 常见问题解答 样品 开始 概述 NServiceBus一步一步向导 架构原则 事务 ...
- NServiceBus教程-持久化配置
当配置在NServiceBus v5持久性,秩序是非常重要的.最后赢得持久性配置选项.我们看看一些例子. 示例1 在本例中最后一个配置选项将会覆盖前面的所有选项. v5.2 v5.0 编辑 var c ...
- NServiceBus教程-持久化
NServiceBus的各种特性需要持久性.其中有超时.传奇和订阅存储. 四个持久化技术在NServiceBus在使用: RavenDB nHibernate 内存中 MSMQ 读到安装Raven D ...
- NServiceBus教程-消息传递与处理
nservicebus"的容错默认"设计的一部分,基础设施管理事务自动所以你不需要记住所有的线程和状态管理要素配置. 客户端和服务器 理想情况下,服务器代码处理消息事务,但它往往不 ...
- WCF基础教程——vs2013创建wcf应用程序
引言 近期在项目中见到了师哥们常常谈到的WCF这方面的知识.当时在写程序的时候也没有理解wcf究竟是个什么东西? 以及我们为什么在项目中会採用这种框架来实现,仅仅是依照师哥他们写好的代码编写同样格 ...
- WCF系列教程之初识WCF
本随笔参考自WCF编程系列(一)初识WCF,纯属读书笔记,加深记忆. 1.简介:Windows Communication Foundation(WCF)是微软为构建面向服务的应用程序所提供的统一编程 ...
- 使用NServiceBus开发分布式应用
系列主题:基于消息的软件架构模型演变 NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)--企业服务总线.NSe ...
- SOA、ESB、NServiceBus、云计算 总结
SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统.与此同时,SOA 还实现了整合资源,资源复用. SO ...
- NServiceBus开发
使用NServiceBus开发分布式应用 系列主题:基于消息的软件架构模型演变 NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Ser ...
随机推荐
- 下拉刷新控件(4)SwipeRefreshLayout官方教程(上)如何在应用中使用它
http://developer.android.com/training/swipe/add-swipe-interface.html 1,在布局xml和代码中使用它 2,在menu中添加它 The ...
- 第一篇 ERP是什么?-从道的层面浅谈我的理解
世界上称为ERP软件的软件很多,国外的有SAP,ORACLE,国内的有金蝶,用友,浪潮.这些由不同的厂商开发制作的软件总有其软件适用的场合.这个场合就是企业,而且是市场经济中的企业.个人是不会购买ER ...
- uDig 简介
uDig是一个 open source (EPL and BSD) 桌面应用程序框架,构建在Eclipse RCP和GeoTools(一个开源的Java GIS工具包)上的桌面GIS(地理信息系统) ...
- jsonp从服务器读取数据并且予以显示
之前看了许多的关于jsonp的文章,大多是讲的比较的模糊的,下面是我的个人的理解! 基于这样的一段代码,做下解释: 这是在jsonp中读取数据的时候(取出来当然是json的格式json格式不清楚的,可 ...
- C#配置系统未能初始化
如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素.",将appSettings放到conf ...
- LA 3602 DNA Consensus String
最近审题老是一错再错,Orz 题目中说求一个Hamming值总和最小的字符串,而不是从所给字符中找一个最小的 这样的话,我们逐列处理,所求字符串当前位置的字符应该是该列中出现次数最多其次ASCII值最 ...
- HDU 2059 龟兔赛跑
受上一道题影响,我本来想着开一个二维数组来表示充电和不充电的状态. 可这样就有一个问题,如果没有充电,那么在下一个阶段就有剩余的电量. 这样问题貌似就不可解了,难道是因为不满足动态规划的无后效性这一条 ...
- 51nod1055 最长等差数列
完全一脸懵逼!.dp[i][j]表示i,j为相邻的两项的最大值.两个指针两边扫的思想好劲啊这个!%%% #include<cstdio> #include<cstring> # ...
- php里的declare用法
function tick_handler () { echo "tick_handler() called<br>" ; } function tick_handle ...
- mysql 查看所有存储过程
转载地址:http://zhuixue.iteye.com/blog/375353 查询数据库中的存储过程 方法一: select `name` from mysql.proc where db = ...