博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF 第十一章 工作流服务 总结
阅读量:4956 次
发布时间:2019-06-12

本文共 1113 字,大约阅读时间需要 3 分钟。

Windows Workflow Foundation(Windows 工作流基础,WF)是WCF 的补充技术。由WCF定义并实现一个服务的接口,WF负责对这个服务的商业逻辑进行模型化处理以及实现。Visual Studio 2008 和.NET 3.5 提供了二者更深层次的集成。

  为了从WF调用服务,你可以使用一个发送活动,代码活动或者一个自定义活动。发送活动要求至少有代码但是一个自定义活动是目前为止最具可扩展性的选项。

  接收活动在WF设计器中用来将一个工作流以服务形式暴露出来。在它配置好以后,WF为这个服务定义一个[ServiceContract]同时为每个接收活动定义一个[OperationContract](这个意思是说WCF 的服务还是以前的服务,但是WCF服务中的操作变成了WF的接收活动)。你可以通过导入的代理指定接收活动或者直接将其添加到工程中,或者你可以使用一个WF设计器定义接口。接收活动绑定WF变量到服务操作上。使用WF设计器,你可以选择或者创建WF范围内的变量来绑定到这个操作中的每个输入变量。

  WF类,WorkflowServiceHost,用来实例化WF运行时。这个类用来为服务开启的工作流替代ServiceHost(在WCF中,使用ServiceHost寄宿服务,而在WF中,使用WorkflowServiceHost 寄宿服务).这个类必须在自我寄宿时使用。当在IIS中寄宿时,必须在SVC文件中确定一个工厂类来实现同样的结果。

  当暴露一个服务开启工作流时必须使用上下文绑定中的一个: basicHttpContextBinding, wsHttpContextBinding或者netTcpContextBinding.这些绑定使用上下文信道元素,它们向信道中添加上下文信息。你也可以把这个信道元素添加到自定义信道中。已有的工作流的相关入列消息要求上下文信息。

  很多对商业过程建模的工作流程序必须运行数天,数周或者数月,在这个期间客户端可能掉线,服务可能被回收,或者网络也挂了。为了支持这些过程的长时间运行特性。一个持续性服务是必须的。当一个工作流实例空闲时,或者当运行时关闭时,持续性服务保存状态,或者将其”脱水”到持久性存储设备上。当WF从一个脱水的实例接收一条消息时,WF将其从持续性服务中”加水”恢复。

注: 关于“脱水”和“加水” 可以联想木耳,湿木耳晒干后可以长期存储,等到要吃的时候,再用水泡开,这样干木耳又恢复到之前的样子了。

转载于:https://www.cnblogs.com/danielWise/archive/2011/04/14/2016291.html

你可能感兴趣的文章
什么时候Python的List,Tuple最后一个Item后面要加上一个逗号
查看>>
2013腾讯马拉松编程初赛3月21日1001
查看>>
关于汽油必须知道的11件事 可能是最全的油品全解
查看>>
sprintf,你知道多少?
查看>>
UOJ Easy Round#7
查看>>
最小高度 最大高度
查看>>
Handbook之015:动态数组相加
查看>>
假前笔记
查看>>
如何学习web开发环境搭建和脚手架
查看>>
小区搜索,小区选择
查看>>
Python的matplotlib库画图不能显示中文问题解决
查看>>
看过的文档地址——个人留存
查看>>
【Bzoj4555】【Luogu P4091】求和(NTT)
查看>>
Mac安装LNMP环境,升级php7
查看>>
BZOJ 3065 带插入区间第K小值
查看>>
NOIP2016模拟赛三 Problem C: 不虚就是要AK
查看>>
把页面的编码与数据的编码统一的两种方法:
查看>>
robotframework基本语法一
查看>>
python 完整项目开发流程
查看>>
Android开发之怎样监听让Service不被杀死
查看>>