wwf票证实例教程

72、Windows工作流基础:构建高效的工作流应用程序 本文详细介绍了 Windows Workflow Foundation (WF) 的核心概念和使用方法,涵盖创建工作流、执行与调试工作流、持久化管理、自定义活动、与其他 .NET 技术集成、性能优化以及安全性实现等内容。通过实际示例和最佳实践,帮助开发者构建高效、灵活的工作流应用程序。 阅读详情
style="MARGIN-TOP: 0px; FLOAT: left" border="0" marginwidth="0" framespacing="0" marginheight="0" src="http://wz.youkuaiyun.com/vote.aspx?t=%u6700%u5148%u8FDB%u7684%u6280%u672F%uFF1AWindows%20Workflow%20Foundation%20-%20%u8D77%u98DE%20%u8E0F%u4E0A.NET%20Framework%203.0%u5F00%u53D1%u4E4B%u65C5%20-%20优快云Blog&u=http%3A//blog.youkuaiyun.com/artlife/archive/2006/12/19/1448877.aspx" frameborder="0" noresize="noresize" width="54" scrolling="no" height="75">  最先进的技术:Windows Workflow Foundation      优快云 Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。
 
本页内容
常见业务方案常见业务方案
应用 Windows Workflow Foundation 应用 Windows Workflow Foundation
技术支持解决方案技术支持解决方案
人为因素人为因素
技术支持前端技术支持前端
状态持久性 状态持久性
恢复工作流实例恢复工作流实例
结论结论

在 2006 年 1 月号中,Don Box 和 Dharma Shukla 介绍了 Windows® Workflow Foundation,并讨论了框架的整体体系结构及其构成组件(请参阅 WinFX Workflow:Simplify Development With The Declarative Model Of Windows Workflow Foundation [英文])。这篇文章促使我想进一步讨论这个主题,并介绍如何使用 Windows Workflow Foundation 来处理自动进程与人工活动贯穿相交的这种常见业务方案。它为开发和执行基于复杂过程的多种应用程序提供了框架。典型示例包括文档管理应用程序、企业对企业应用程序和企业对消费者应用程序。用户可以使用 Visual Studio® 2005 帮助设计基础工作流以及有关的顶级应用程序和程序集。

常见业务方案

对于订单处理、采购申请、差旅费用之类的任务,各组织通常会设有许多内部进程。工作流使这些独立进程以透明、动态、有效的方式按顺序进行。

让我们看一个典型的技术支持工作流进程。在技术支持人员接到客户电话,并开立记录客户姓名、来电时间和问题简要说明的票证时,进程即算开始。创建票证之后,该技术支持人员会将这件事放在一边,并等待其他来电。下班时,他将注销计算机,然后回家。此时,在另一个部门中(可能位于其他城市),一组技术人员正专注解决这些未解决的问题。每个工作的技术人员要选取申请,然后解决该申请或将该申请升级到第二级帮助。如何编写代码来实现此进程?

可以使用 Windows 窗体应用程序来收集电话的相关输入数据,并在数据库中创建一个记录:即包含时间、说明、状态和唯一 ID 的票证。第二个 Windows 窗体应用程序的用户将看到待处理申请的实时列表,然后选取一个申请。然后,接线员将尽量解决问题(回电给客户、检索申请的信息、发送电子邮件或执行一些远程活动),并指明问题是已解决还是需要进一步研究。此决策可由一个命令性操作表示,例如单击某个按钮更新同一基础数据库中的票证。最后,如果还涉及其他类别的用户,自定义前端将使这些用户能够指明问题已成功关闭或中止。

尽管此过程明确地表达了工作流需要用户进行某些决策,但可以使用以标准编程语言和数据库编写的传统顺序代码轻松实现。

应用 Windows Workflow Foundation

如果用户具备由各活动组成的基于工作流的系统(如 Windows Workflow Foundation),则可利用命令性代码和声明性活动地图的强大组合以及绑定它们的声明性规则来实现应用程序。主要好处在于用户可以为解决方案建模(甚至以直观方式建模),将 Windows Workflow 嵌入运行时服务器来解释图表,并使 Windows Workflow 遵循在创建块中定义的链接。进程越复杂,为其设计和实现的流程就越简单。进程动态更改越容易,用户需要编写和维护的代码数量就越少。让我们了解一下如何实现技术支持方案的 Windows Workflow Foundation 解决方案。

技术支持解决方案

通过创建票证,创建的技术支持工作流程即开始,然后在等待连接用户或技术人员给予响应时停止。无论票证是关闭还是升级,工作流都将获得外部事件,并更新应用程序的内部状态以跟踪该事件。因此,工作流需要与外界进行交互。这类异步活动是 Windows Workflow Foundation 解决的实际工作流进程的固有问题之一。因为需要与系统外部的实体进行交互,所以宿主应用程序和工作流可以定义约定,以进行任何必要的数据交换。此处显示的 IHelpDeskService 接口说明了在工作流及其宿主之间建立的通信接口:

[DataExchangeService]public interface IHelpDeskService{event EventHandler<HelpDeskTicketEventArgs> TicketClosed;event EventHandler<HelpDeskTicketEventArgs> TicketEscalated;void CreateTicket(string description, string userRef, string createdBy);void CloseTicket(string ticketID);void EscalateTicket(string ticketID);}

现在,开始编写名为 HelpDeskService 的服务类,如 图 1 所示。HelpDeskService 类将添加到工作流运行时,表示宿主应用程序和工作流之间的接触点。宿主应用程序将调用该类的公共方法以激发对工作流的外部事件。激发的事件会以信号形式通知将指导操作流的特定于域的事件。IHelpDeskService 接口上的方法仅表示工作流可以通过 InvokeMethod 活动在外部组件上调用的部分代码。以此方法计算出的 HelpDeskService 的逻辑能够在很大程度上增加工作流的灵活性,因为它基本上可以使工作流回调宿主,以真正实现基本操作。通过包含实现 IHelpDeskService 接口的类,不同宿主可以使用不同算法和存储媒体创建、解决或升级票证,同时保持工作流逻辑不变。用户可以在其他程序集中编译接口和类,也可以仅将这些文件保留在定义工作流的同一程序集中。

HelpDeskWorkflow 是 Windows 窗体应用程序驻留的顺序工作流。图 2 显示的是其图形模型。它开始于 InvokeMethod 活动,该活动导致应用程序基于用户提供的信息创建票证。然后,票证将放置在数据库中,等待技术人员选取,以进行解决或升级。


图 2 Visual Studio 2005 中的技术支持工作流

创建票证之后,工作流将进入等待状态,可能会等待很长时间 - 甚至几小时或几天。这段时间内会出现什么情况?是否应该将工作流实例加载到内存中?如果工作流空闲,可以将其从内存中卸载 - 这一进程称为“钝化”。本地服务(如技术支持服务)保留宿主应用程序和休眠工作流之间的主要接触点。

人为因素

当人为因素与宿主应用程序进行交互并执行一些操作来唤醒工作流时,本地服务将向运行时发布请求来恢复钝化的工作流。Windows Workflow Foundation 工具箱包含一个称为 Listen 的活动,该活动只是使工作流空闲并侦听传入的唤醒呼叫。图 2 中标有 WaitForSolution 的块是 Listen 活动的实例。

如果没有一个或多个子分支(每个分支表示一个可挂接在此点的可能发生的事件),Listen 活动基本上没有意义。在该技术支持示例中,Listen 活动包含两个分支 - 票证关闭和票证升级。每个分支都是一个 EventDriven 活动。Listen 活动和 EventDriven 活动都不需要特别设置,它们只是子活动的容器。要捕获外部事件,工作流需要 EventSink 组件。

在图 2 中,TicketClosed 块是绑定到本地技术支持服务中的 TicketClosed 事件的 EventSink。图 3 列出了此处设置的 EventSink 属性。首先,请选择提供事件的服务接口。必须设置 InterfaceType 实现,此外,仅能选择以 [DataExchangeService] 属性修饰的接口,如图 1 所示。


图 3 EventSink 属性

设置数据交换接口后,将使用接口中找到的所有事件预填充 EventName 属性。用户选取选择的事件并设置其参数。如果希望在事件得到处理后得到进一步的通知,还要设置 Invoked 属性。

在等待人为干预的一段空闲时间之后,EventSink 将控制任务返回给工作流。事件发生后,继续进行与工作流相应的其他任何活动。例如,在技术支持应用程序中调用本地服务的另一个方法,以更新票证数据库中的票证状态。

在实际情况下,工作流至少需要与一个数据库直接或间接交互。在此示例中,使用的是 SQL Server™ 2000 表 Tickets,其中每行都对应于一个正在处理的票证。票证 ID 特意设置为与用于管理票证的工作流 ID 相匹配。

技术支持前端

工作流经编译后,只是一个可重用的程序集,因此可以被任何类型的基于 .NET 的应用程序引用。现在,让我们为技术支持接线员来构想一个前端应用程序。该应用程序是 Windows 窗体程序,允许用户填充表单,并创建票证以启动工作流,如图 4 所示。


图 4 技术支持前端应用程序

工作流调用本地服务的 CreateTicket 方法,并使服务在票证数据库中添加新记录。在接线员开立新票证之后,工作流将开始并进入空闲状态等待人为干预,而该接线员将继续接听电话并回复电子邮件。每个票证都由工作流的不同实例来表示。为了方便起见,工作流 ID 也是票证的 ID。

状态持久性

在一天结束的时候,工作流成为一个活动树,如何管理其保留时间?Windows Workflow Foundation 运行时引擎会管理所有工作流的执行,使工作流长时间保持活动状态,甚至在重新启动计算机时也不会受到影响。运行时引擎由可插拔式服务提供支持,这些服务提供了完整丰富的执行环境 - 事务、持久性、跟踪、计时器和线程。

除非有某些干预使工作流继续进行,否则工作流不能保留在主机进程的内存中。如前所述,许多实际基于人为干预的工作流可能需要等待几个小时(甚至更长时间)才能继续。在前面的示例中,技术支持接线员启动了工作流,并在前端应用程序进程中加载了工作流类。然后,该接线员就可以关闭计算机回家了。但是,票证必须保持激活状态,并且对于其他接线员(甚至其他应用程序内的接线员)可用。因此,工作流必须支持对长效存储媒体的序列化。

工作流可能是一个长时间运行的操作,不适用于那些在内存中连续几天保持激活状态的对象。首先,主机进程通常不能为连续几天活动所积累的所有对象提供缓存;其次,主机进程可能会多次关闭或重新启动。

解决方案是配置运行时,以在工作流空闲时将其卸载。在这种情况下,宿主程序将使用以下代码初始化运行时:

WorkflowRuntime wr = new WorkflowRuntime();wr.StartRuntime();

用户还可以在 WorkflowRuntime 类上设置几个事件处理程序,以便在工作流空闲、持续或被卸载时运行某些代码。以这种方法配置的运行时,将在工作流遇到 Listen 活动或进入等待状态时,将工作流自动序列化存入到存储媒体中。另一个方法是指示宿主程序以编程方式将工作流保持在已知的执行点处。在这种情况下,可以调用 WorkflowInstance 类的 EnqueueItemOnIdle 方法。用户将获得 WorkflowInstance 类的实例,作为运行时类的 CreateWorkflow 方法的返回值:

WorkflowInstance inst = theRuntime.CreateWorkflow(type);...inst.EnqueueItemOnIdle();inst.Unload();

但是请记住,调用 EnqueueItemOnIdle 不一定会立即保持工作流。只有工作流处于空闲或挂起状态时才立即保持。否则,当工作流处于挂起或空闲状态时,运行时会予以注意并在以后保持工作流实例。请注意,EnqueueItemOnIdle 仅限于保存工作流实例的状态,不会将其从内存中卸载。要卸载工作流实例,需要调用 Unload 方法。工作流运行时支持的一种标准运行时服务是工作流持久性服务。可以通过 图 5 中的代码将其打开。

WorkflowPersistence 服务将序列化功能添加到在给定运行时引擎内执行的所有工作流实例。工作流服务核心功能由 WorkflowPersistenceService 类表示。Windows Workflow Foundation 通过 SqlWorkflowPersistenceService 实现它。此类可以将工作流数据保存到具有已知架构的 SQL Server 2000 或 SQL Server 2005 数据库中。用户可以使用许多脚本和基于对话框的实用程序轻松创建目标数据库。可以从 Windows Workflow Foundation 网站 下载所需内容。必须创建 SQLWorkflowPersistenceService 的实例并向运行时注册,才能实际启动运行时。持久性服务的构造函数使用连接字符串作为其唯一的参数。

如前所述,运行时服务是整体 Windows Workflow Foundation 体系结构的可插入部分,因此用户可以创建自己的服务,并使用自己的服务替换标准服务。

恢复工作流实例

在所述方案中,需要由其他接线员(技术人员)接手任何开放的票证,并尽可能去解决它们或将它们提交给上一级。技术人员将使用其他应用程序,或者至少使用图 4 中的应用程序的其他实例。在这两种情况下,都必须通过持久性支持创建工作流运行时的其他实例,并且必须加载和恢复正确的工作流状态。如您所见,只有在已经保存空闲工作流的 ID 的情况下才发生这种情况。在技术支持示例应用程序中,票证 ID 特意设置为与工作流 ID 相匹配,每个票证都对应于被创建用于处理票证的工作流的一个实例。


图 6 问题规划求解

问题规划求解应用程序(请参阅图 6)通过使用与图 4 中的技术支持前端应用程序几乎相同的代码来初始化工作流运行时。唯一的微小差别在于在问题规划求解应用程序中,我是在运行时上为 WorkflowLoaded 和 WorkflowCompleted 事件注册处理程序:

WorkflowRuntime wr = new WorkflowRuntime();wr.WorkflowLoaded += OnWorkflowLoaded;wr.WorkflowCompleted += OnWorkflowCompleted;

接线员从显示的列表中选择票证,并与提出票证的用户协同工作。完成后,她将进行单击以解决票证或升级票证,从而终止工作流。事件处理程序将基于票证 ID 检索保存的工作流实例,然后将其从空闲状态唤醒。以下是用户所需的代码:

string workflowID = (string)ticketList.SelectedValue;Guid id = new Guid(workflowID);Type type = typeof(MySamples.HelpDeskWorkflow);try {WorkflowInstance inst = theWorkflowRuntime.GetLoadedWorkflow(id);theHelpDeskService.RaiseCloseTicketEvent(inst.InstanceId);} catch { ... }

前面代码的核心部分为调用 GetLoadedWorkflow 方法。GetLoadedWorkflow 采用表示工作流实例的 GUID,如果当前内存中没有 GUID,则从已配置的持久媒体中进行检索。在这种情况下,工作流将加载到内存中,并被安排执行时间。即使工作流实例以前已中止,仍会发生这种情况。工作流加载回内存后,WorkflowLoaded 事件将激发。

GetLoadedWorkflow 将返回 WorkflowInstance 类型的对象,用户可以使用该类对象检查工作流的当前状态及其活动。此时,将激发工作流等待的一个事件。相应的 EventSink 活动将捕获事件并继续,直至工作流结束或遇到后续等待点。

工作流完成时,将自动从 Windows Workflow Foundation 持久性数据库中删除。当工作流结束时,WorkflowCompleted 事件将激发。在技术支持方案中,工作流将在接线员单击解决或升级之后完成(请参阅图 6)。

从开发的角度而言,关键要注意以下两点。第一,要将事件引发到工作流,必须将申请发布到池线程:

public void RaiseCloseTicketEvent(Guid instanceId) {ThreadPool.QueueUserWorkItem(JustCloseTheTicket,new HelpDeskTicketEventArgs(instanceId, "Jim"));}public void JustCloseTheTicket(object o) {HelpDeskTicketEventArgs args = o as HelpDeskTicketEventArgs;if (TicketClosed != null) TicketClosed(null, args);}

第二,不能在主 Windows 窗体线程上引发 WorkflowCompleted 事件,因此不能直接更新任何 UI 控件。(这是由于 Windows 窗体控件不是线程安全控件。)确实可以在创建 Windows 窗体控件的线程之外的线程中更新 Windows 窗体控件,但是需要间接调用更新控件的方法:

private delegate void UpdateListDelegate();private void UpdateList() {this.Invoke(new UpdateListDelegate(FillList));}

可以从 WorkflowCompleted 事件处理程序调用 UpdateList。Form 类的 Invoke 方法可以确保在正确线程上调用 FillList,以便能够安全地刷新所有控件。

结论

Windows Workflow Foundation 使用户可以直观地设计复杂的算法,从而解决业务问题并为进程建模。工作流是用于说明数据和操作流的工具。因此,任何需要 IF 或 WHILE 语句的方案都可以是工作流。但是,任何人都不能使用仅包含 IF 语句的工作流,工作流运行时确实具有成本,该成本可以在流复杂性超出给定阈值时分摊。

如何界定工作流的使用是否高效低耗的界限?在本专栏实现的技术支持方案对于工作流可能过于简单,可以通过使用票证数据库(甚至是工作流通过技术支持服务处理的同一票证数据库)以等效的方式实现。

基于工作流的解决方案的真正优点是使复杂进程更易于建模和实现,更重要的是使其更易于改进和扩展。Windows Workflow Foundation 为 Windows Workflow 程序提供了托管执行环境,还为程序提供了持续时间、可靠性、挂起/恢复以及补偿特征。在某种意义上,活动类似于中间语言 (IL) 操作码或程序语句,但包含特定领域的知识。简而言之,Windows Workflow Foundation 使程序语义具有声明性并且十分准确,使用户能够为接近实际进程的应用程序建模。它是最适合此工作的工具。用户无需使用 IL 编写前端可视应用程序,而是使用 RAD 开发工具和更具人类可读性的语言。Windows Workflow Foundation SDK 提供了广泛的编程语言,专门用于为复杂的业务程序建模,特别是在这些程序可能随着时间而改进的情况下。在这种情况下,主要好处在于用户可以添加特殊活动来进行工作流,并使用内置行为活动来控制该工作流。用户可以专注于任务,其他事情由运行时进行处理。如果要进一步了解 Windows Workflow Foundation 或查找其他信息,请访问 Windows Workflow Foundation。

 

下载本文的代码:CuttingEdge0603.exe (663KB) 

31、Windows Workflow Foundation 入门指南 本文是一篇Windows Workflow Foundation (WF)的入门指南,详细介绍了WF的核心概念、构建块以及如何使用内置活动和自定义活动来构建工作流应用程序。内容涵盖了WF的基本架构、业务流程建模动机、工作流类型(顺序工作流和状态机工作流)、集成服务、核心程序集与命名空间,以及实际开发中的操作步骤,如创建简单的工作流应用、调用Web服务、使用IfElse活动和构建可重用的WF代码库。通过本文,开发者可以全面了解WF的强大功能,并掌握其基本使用方法。 阅读详情

相关推荐

通过Windows Workflow Foundation 构建企业级工作流应用实战指南

本文还有配套的精品资源,点击获取 简介:本系列教程深入讲解了如何使用Windows Workflow Foundation (WF)构建和开发工作流应用程序。作为.NET Framework的一部分,WF为开发者提供了强大的工具,用于创建规则和状态驱动的业务流程应用。教程涵盖工作流基础概念、设计工具、活动库的使用、工作流持久化、服务集成、监控管理以及版本控制等关键知识点,旨...

weixin_42309599的博客 2530

Windows Workflow Foundation(WWF)介绍

Windows Workflow Foundation:支持基于工作流的应用程序 工作流是一个简单思路:按照特定顺序执行的一系列步骤。您甚至可以认为每个应用程序都在执行工作流,因为每个应用程序都执行某些过程。但是,在使用 C#、Visual Basic 或其他编程语言等传统方法开发的应用程序中,这些过程都隐含在代码中。这样做没问题,但是这些过程被深深地嵌入程序逻辑中,使得其执行或更改愈加困难。...

weixin_33965305的博客 395

深入理解VS2010 Windows Workflow Foundation

Windows Workflow Foundation(WF)是.NET框架中的一个子系统,它允许开发者通过可视化的方式设计、实现、运行和管理业务逻辑和工作流。WF极大地简化了业务流程的管理,使开发者能够专注于业务逻辑的实现,而不必从头开始编写复杂的业务逻辑代码。工作流模型是对实际业务流程的抽象和简化,它将复杂的业务操作流程转化为计算机可以识别的逻辑结构。在一个工作流模型中,通常包含以下基本元素:活动(Activities):表示业务流程中的一个步骤,如任务执行、决策判断、数据处理等。

weixin_35639680的博客 1172

我读MSDN文章:《最先进的技术:Windows Workflow Foundation》

 红色——原文重点地方;蓝色——我自己的理解和注释;绿色——不理解的地方发布日期: 2006-4-28 | 更新日期: 2006-4-28下载本文的代码:CuttingEdge0603.exe (663KB)在 2006 年 1 月号中,Don Box 和 Dharma Shukla 介绍了 Windows® Workflow Foundation,并讨论了框架的整

fattycat~Revolutions !!! 7687

Windows Workflow Foundation 高级编程源代码探究

本文还有配套的精品资源,点击获取 简介:Windows Workflow Foundation(WF)是.NET Framework的一部分,支持构建、管理和重用工作流逻辑,适用于企业级应用。本资源提供深入学习WF的源代码示例,涵盖了WF架构、活动构建、持久化、设计器、服务集成、版本控制、状态管理、规则引擎、自定义活动开发及错误处理等高级特性。开发者可以利用这些源代码深入理...

weixin_33670640的博客 2166

Windows Workflow Foundation 4实用解决方案大全

本文还有配套的精品资源,点击获取 简介:WF4 Cookbook是针对.NET Framework 4中WF4技术的详尽指南,包含大量实例和解决方案,适用于开发者和系统架构师。WF4作为WF框架的升级,通过工作流基础、设计模式、持久化机制、规则引擎、工作流服务、表达式和变量支持、调试跟踪、版本控制、自定义宿主及工作流设计器等特性,增强了工作流应用程序的灵活性、可维护性和性能...

weixin_42497762的博客 578

Microsoft Windows Workflow Foundation 入门:开发人员演练

show toc 欢迎来到 MSDN > Windows 开发 Microsoft Windows Workflow Foundation 入门:开发人员演练 发布日期: 11/30/2005 | 更新日期: 11/30/2005 Dino EspositoSolid Quality Learning 适用于:Microsoft Windows Workflow...

weixin_30401605的博客 494

VMware VMRC 控件

VMware VMRC 控件,用于VMware Vcenter Web进行客户端管理

最先进的技术:Windows Workflow Foundation

下载本文的代码:CuttingEdge0603.exe (663KB)本页内容 常见业务方案 应用 Windows Workflow Foundation

奥法鱼 2155

SQLSTATE58030

在优化一条SQL的时候遇到了执行错误 gtlions =# select t1.telnumber,t2.ua,t2.url,t1.apply_name,t2.apply_name from tb1 t1 gtlions -# left outer join tb2 t2 on t1.sid = t2.ipsid gtlions-# where t1.sum_date=20141128 a

Gtlions Tracker 3660

告别IIS折腾!用.NET8+Kestrel在Windows上5分钟搞定Web API部署

本文介绍了如何使用.NET8和Kestrel在Windows上快速部署Web API,告别繁琐的IIS配置。通过5分钟实战教程,开发者可以轻松实现高性能、跨平台的API服务部署,显著提升开发效率和系统性能。

weixin_42528780的博客 246

vmware remote console 会话票证无效或过期解决方式

问题如上图: 查阅了各网站,资料,有说什么什么token,flash,h5,折折腾了一天,其实根这些都没有关系,本次测试vmrc 11.0 与12.0 在不同的操作系统 下安装完成后初始设置有所不同下面为日志所示内容: 问题一日志: Token elevation type = Limited: The process has a linked token. This is an admin account and UAC is turned on. 解决方式,win10以下关闭UAC,...

2618

(三)从零开始学习模糊控制——模糊决策

模糊控制之基础——模糊数学 (一)模糊数学——基本概念 (二)模糊数学——模糊关系 (三)模糊数学——模糊决策 文章目录模糊控制之基础——模糊数学前言一、模糊决策法1.最大值原理2.模糊排序2.模糊寻优总结 前言   模糊决策是指在模糊环境下进行决策的数学理论和方法。这类问题─般具有大系统特征,系统之间的关系十分复杂,存在不能准确赋值的变量,这些变量属于模糊因素,涉及到一定的主观因素,使得子系统之间、变量之间的关系不清晰,从而必须借助排序、模糊评判等方法来进行处理。 一、模糊决策

qq_43667552的博客 4751

Windows Workflow Foundation(1)- Windows Workflow Foundation 概述

Windows Workflow Foundation(第一章)- Windows Workflow Foundation 概述 工作流概述 活动(Activity)是工作流的基本单元,用于描述实际进程。工作流(workflow)提供了一种方法,用于描述多项短期运行或长期运行的工作之间的执行顺序和依赖关系。此工作从头到尾地贯穿模型,并且活动可以人工执行或由系统功能执行。 工作流运行...

afgvkab3084的博客 1768

STGCN实战:从零构建PyTorch时空图卷积网络预测城市交通流

本文详细介绍了如何使用PyTorch从零构建时空图卷积网络(STGCN)进行城市交通流预测。通过将交通网络建模为图结构,并融合时间卷积与空间图卷积,STGCN能有效捕捉交通流的时空依赖性。文章提供了从数据预处理、核心模块(TimeBlock与STGCNBlock)搭建、模型训练到实战技巧的完整指南,帮助开发者快速掌握这一前沿的交通速度预测技术。

wasm7browser的博客 249

大样本EEG公共数据集汇总

描述: OpenNeuro平台包含多个认知障碍相关的EEG数据集,例如针对轻度认知障碍(MCI)或阿尔茨海默病(AD)的研究。描述: 天普大学医院EEG语料库包含大量临床EEG记录,可通过元数据筛选出与认知障碍相关的片段(如诊断标签包含dementia或MCI)。描述: ADNI主要提供多模态神经影像数据(MRI/PET),但部分合作研究整合了EEG数据。样本量: 部分数据集包含100+被试(例如结合MRI与EEG的多模态数据)。样本量:30,000+ EEG记录(持续更新,全球最大临床EEG数据库)。

谁人打的太极拳的博客 1762

和我一起学Windows Workflow Foundation(微软工作流) (www.jiedichina.com)

南京捷帝 www.jiedichina.com(1)-----创建和调试一个WF实例 今天开始,我打算开始学习WWF,从网上搜索到了部分相关资料,也找到了一些文档和实验。但是,资料以英文的占多数,所以,在学习起来似乎比较吃力,不过相信我能坚持下来,顺便提高点英语阅读能力,不过本人英文水平实在是差,解释的不到位或错误的地方请大家谅解(千万别笑话我,哈哈)。毕竟我也是从空白开始学习WW

老夏课堂-夏曹俊的技术专栏 3126

智能车图像处理9-进阶篇1--中线的提取

(1)10-50行 基础扫线 (2)56-71 断行0 ,就是比如遇到十字,十字路口下方 第一次断线的地方。 (3)83-124 按照原先有效行,拟线作为中值,然后从中值向左右扫线,同时计算赛道宽度。 (4)125-138 如果出现赛道宽度小于先前有效行,则找到二次扫线的起点,从二次扫线起点处,继续向下扫线,直至结束,同时记录最后的有效行。 (5) 310-- 最后计算左右边线类似于方差的值,用于环岛的判断 ***这里着重描述一下二次扫线,希望大家可以理解的深刻

taiyuezyh的博客 1万+

Windows Workflow技术

 Windows Workflow技术 1     概念... 22     Windows Workflow.. 42.1      .Net Framework 3.0 简介... 42.2      Windows Workflow Foundation简介... 53     开发环境搭建... 54     Workflow模型... 64.1    

shhzj的专栏 4310

【AutoCAD中实现双击文本编辑功能】

例如:以下是官方博客例子浅析先加入相关的头文件和库文件。在AutoCAD中有一个很重要的功能,就是双击图形尺寸或文本后会出现一个文本编辑框,用户可在该编辑框中修改文字。本文介绍了如何使用AcEdInplaceTextEditor来实现该功能。实现cad的消息监听。创建一个消息监听的类并在cad中注册来实现消息监听。主要是监听键盘输入。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了的函数和方法。

我的博客 1149

Ros入门 (十)----激光雷达避障 简易实现

本篇文章通过订阅/scan话题获取障碍物的距离信息,达到避障目的,提供部分代码,仅供参考。

weixin_51157015的博客 1万+

Windows WorkFlow Foundation入门

一、工作流概述工作流是由活动单元组成的集合,活动是真实过程的的一个模型。工作流提供了一种描述一系列相互关联的工作之间有执行顺序,这种工作从头到尾贯穿了整个活动,这些活动可能是由人工或系统来执行。每一个运行的工作流实例由工作流运行时引擎来创建和维护的。虽然对于每一个应用程序域只能有一个工作流运行时引擎,但工作流运行时引擎内可以行多个工作流实例并发工作。一旦一个工作流模型被...

weixin_30335575的博客 281

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

[转帖]Windows Workflow Foundation之旅(二)——指南1(创建顺序工作流)

Windows Workflow Foundation之旅(二)——指南1(构造一个顺序工作流)翻译自 ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/9c3e5551-4eff-4977-89ac-f81ab092d996.htm  顺序工作流(sequentialworkflow)是为执行一种由一系列预定义的步骤组成的任务而设计的。

soulspark的专栏 1322

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Windows Workflow Foundation技术介绍(基于.NET Framework 4.5)

Windows Workflow Foundation技术介绍(基于.NET Framework 4.5) 转自:http://www.cpiso.cn/jsyj/ghxx/2014/5/15/459.shtml MicrosoftWindowsWorkflowFoundation(WF)是一个可扩展框架,用于在Windows平台上开发工作流解决方案。WindowsWorkfl...

weixin_30341745的博客 862

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Windows Workflow Foundation(一)

组织并执行一系列的操作或者活动的最自然的方式——那就是工作流——同时也是构造一个工作流程的可执行表现形式的最佳途径。  Windows Workflow Foundation(以下简称WWF)提供了一个编程框架和工具以开发和执行各种不同的基于工作流的应用程序,比如文档管理、线型的商业应用、贸易单据流程、IT管理、B2B应用以及消费者应用。有状态的、持久化的、不间断运行的应用程序  WWF简

simonezhlx的专栏 1518
上一篇: 《WF编程》笔记目录
下一篇: workflow中找不到存储过程的解决方法
glumtree
博客等级 码龄20年 20粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值