摘要:WF活动是工作流程序的构建块。每个活动一般都执行一个任务,比如调用一个类的一个方法,调用一个网络服务或者调用其他程序。WF附带了很多内建活动,开发人员可以通过继承基类活动中的一个来创建它们自己的活动。 至少有四种方式从WF调用一个服务: 使用发送活动,写一个自定义活动,使用InvokeWebService 活动,或者使用代码活动。发送活动最适合用来调用WCF或者其他交互操作的网络服务,它在.NET 3.5 的时候被专门引入。一个自定义活动是一个用来压缩可以很容易地在不同工作流之间回收代码的轻量级架构。InvokeWebService活动当调用ASMX 网络服务时很有用,但是相对发送活动来说没有 阅读全文
WCF 第十一章 工作流服务
2011-03-08 17:37 by DanielWise, 4660 阅读, 1 推荐, 收藏,
摘要:在本书阐述到此时,你已经知道了WCF就是关于服务定义,服务创建和服务安全的。服务契约中有规范化描述的定义的很好的边界,但是从服务外面看,内部工作是完全不透明的。WCF 描述了很少的一部分服务实现;它简单地提供了接口来可信赖地并安全地与客户端交换消息。 Windows 工作流基础(WF)是WCF的补充技术。它就是关于一个多步骤过程中定义活动和执行活动的。WF可以将顺序执行或者事件驱动的自然事物用工作流建模。WF运行时通过分支,循环,分叉以及加入执行路径来执行活动。工作流运行时间可以很短或者很长。它们可以实现一个单独的事物或者与很多其他部分合作。WF不指定工作流的接口,这让它在很多应用程序中有用。 阅读全文
哪本书是对程序员最有影响、每个程序员都该阅读的书?(转自外刊IT评论)
2011-03-07 11:40 by DanielWise, 485 阅读, 0 推荐, 收藏,
摘要:哪本书是对程序员最有影响、每个程序员都该阅读的书?本文是从 What is the single most influential book every programmer should read? 这篇文章翻译而来。 国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书《Code Complete》被顶了1306次。如果你是个程序员,你一定有兴趣看看这些书里你都看过几本,如果你一本没看过的话,我也不好说什么,也许你是个天才, 阅读全文
WCF 第十章 总结
2011-03-07 08:57 by DanielWise, 504 阅读, 0 推荐, 收藏,
摘要:在这一章,我们介绍了WCF如何处理异常以及你需要影响那些操作的很多选项。首先可能也是最重要的是要理解当你什么也不做的时候会发生什么。默认情况下,未处理异常可能导致会话中断以及客户端代理非法。了解如何使用FaultException类是创建一个有效地异常处理策略并避免未处理异常引发的潜在相关问题的关键。对抽象SOAP异常数据元的细节和WCF如何将异常信息转换为要发送给调用者的数据元是有帮助的。你看到FaultException可以被扩展来提供细节代码和原因,甚至提供异常消息的本地化翻译来支持一个本地化的客户端应用程序。从未处理异常和基本的FaultExceptions, 我们使用基本的Fault 阅读全文
WCF 第十章 异常处理 实现客户端错误处理器
2011-03-07 08:44 by DanielWise, 810 阅读, 0 推荐, 收藏,
摘要:如果你已经使用FaultContract属性声明你的服务操作来定义与任何抛出的错误一起的数据契约,你的服务的WSDL描述将会包含在那些数据契约的细节中。这将允许你或者其他人创建对那些契约的细节和类型有完全访问权限的客户端处理单元。 使用异常处理扩展先前的一个基本的客户端服务的实现例子,列表10.12 描述了基于TrackedFault数据契约的强类型FaultException是如何被结构化处理的?列表10.12 处理非类型化FaultExceptions public double Divide(double numerator, double denominator) { try { // 阅读全文
WCF 第十章 异常处理 创建并使用强类型错误
2011-03-04 17:34 by DanielWise, 838 阅读, 2 推荐, 收藏,
摘要:正如我们刚才描述的,一个基本的FaultException不提供一个在客户端创建鲁棒性try/catch/finally错误处理逻辑的特殊类型方式。为了在客户端开启这种类型的处理方式,考虑使用通用型的FaultException<>类。 FaultException<>接收一个被序列化的异常数据结构的类型的定义。这可以是任何可以被序列化然后传输的类型,但是对那个有强类型化访问的类型的客户端来说,它必须能访问那个类型的定义。 例如,我们可以使用列表10.6 的例子中的ArgumentException冰抛出一个FaultException<ArgumentExcep 阅读全文
WCF 第十章 异常处理 使用FaultException管理服务异常
2011-03-03 16:26 by DanielWise, 3896 阅读, 1 推荐, 收藏,
摘要:第一个例子描述允许一个未处理异常从服务实现层抛出到服务宿主的影响。注意在图片10.1,返回给调用者的异常类型时FaultException.这是一个在WCF中使用的继承自Exception基类类型来与SOAP错误协议集成的类型。 默认情况下,到达服务宿主且没有继承子FaultException的异常都被认为是一个潜在致命错误发送的条件。异常被一个FaultException取代同时原始异常信息被忽略除非开启IncludeExceptionDetialInFaults选项。FaultException接下来被当作一个SOAP错误进行序列化并返回给调用方(为单向操作请求保存。)再次,如果调用方是一 阅读全文
WCF 第十章 异常处理 通信异常细节
2011-03-02 17:23 by DanielWise, 1655 阅读, 0 推荐, 收藏,
摘要:在之前的例子中,我们调用了一个向服务层引发一个未处理异常的服务,客户端接收到的最小信息在图片10.1显示。默认情况下,WCF 会向一个调用方转发这条消息,但不是这条异常消息的细节,这是为了阻止有关系统实现或者结构信息的明暗细节暴露出来。 ServiceDebugBehavior有一个可以用来开启向客户端传递异常细节的IncludeExceptionDetailInFaults属性。类似列表10.4修改你的工程的app.config 文件来开启这个行为。列表10.4 通过配置文件开启IncludeExceptionDetailInFaults 选项<?xml version="1 阅读全文
WCF 第十章 异常处理
2011-03-02 08:36 by DanielWise, 2299 阅读, 1 推荐, 收藏,
摘要:软件开发中最残酷的现实是纵然非常小心地完成的系统也有崩溃和不曾预料的场景发生。一个好的开发人员要保证在创建阻止问题发生的软件和处理由软件导致错误的能力的一个平衡。基于服务的分布式系统没有异常。事实上,基于服务的分布式系统通过引入诸如服务可用性,网络条件和服务版本兼容能力等加剧了这个问题。 异常是一个分布式系统的一个严重问题,它可能由很多情况导致。例如,一个调用方可能没有向一个服务方提供正确的或者完整的信息,一个服务方可能在尝试完成一个操作时遇到一个问题,或者一条消息被按照一个不支持的版本格式化过。 在本章,我们将讨论WCF中出现异常的影响以及WCF为通信和异常处理提供的特性。我们将描述异常和错 阅读全文
MSMQ 概述
2011-02-28 11:33 by DanielWise, 11660 阅读, 4 推荐, 收藏,
摘要:1) MSMQ概述MSMQ 表示微软消息队列服务。MSMQ 可以工作在在线或者离线场景,并提供异步编程功能。如果客户端离线,MSMQ将会是最合适的方法,这是因为服务端不需要等待客户端读取数据并向服务端返回确认。(2) 确定MSMQ 是否已经安装通过在运行窗口执行"Services",然后找到Message Queuing. 如果没有就说明MSMQ 没有安装。(3) MSMQ 安装控制面板 -> 添加/删除Windows 组件 -- 选择消息队列 - 下一步这将在你的系统中安装MSMQ,然后你可以通计算机管理来进行确认。控制面板 -> 管理工具 -> 计算机 阅读全文