标签: workflow-foundation-4

在.NET 4.0中加载存储为XAML的工作流

加载以前创建并存储为XAML的.NET 4.0 Beta2工作流的语法是什么.

WorkflowElement和WorkflowXamlServices类不再存在.我正在尝试做这样的事情(在Beta 1中有效):

WorkflowElement wf = WorkflowXamlServices.Load(File.OpenRead("Workflow.xaml")) as WorkflowElement;
Run Code Online (Sandbox Code Playgroud)

c# workflow workflow-foundation-4

6
推荐指数
1
解决办法
3338
查看次数

WF4:具有子活动的自定义活动

如何为托管子活动(或多个)的Workflow Foundation 4创建自定义活动?

我们的想法是创建类似于TryCatch活动的东西,您可以在其中指定try部分中的活动和finally部分中的另一个活动.但是,我需要自己的自定义业务逻辑.

workflow-foundation-4

6
推荐指数
1
解决办法
2870
查看次数

Windows Workflow Foundation WF4 - 工作流托管

对于客户端,我们正在创建的系统必须支持以下内容:
- 必须能够运行多个工作流,以及具有不同上下文(不同数据/业务对象)的相同工作流的多个实例.
- 某些工作流程将长时间运行,涉及多个用户/客户端会话并等待外部用户输入.因此,工作流必须能够持久化并响应来自客户端应用程序的某些信号.这也意味着必须在服务器应用程序上执行工作流程(对吗?).
- 我希望能够在服务器应用程序上运行各种工作流程,并且我不希望在工作流程更改时重新部署服务器应用程序.

我的第一个想法是Workflow Services.经过大量研究后,我得出结论认为这不是正确的道路,因为Workflow Services基本上可以在客户端应用程序中启动的工作流程中执行远程位置的活动.它是否正确?或者我可以在上面的场景中使用Workflow Services吗?大多数示例和/或教程基本上是一个ReceiveSignal/Send组合,其间有一些逻辑.

基本上我想(从客户端应用程序)启动具有特定上下文的工作流的开始(在工作流服务器应用程序中).

什么是最好的方法?

很感谢任何形式的帮助!

.net c# workflow-foundation-4

6
推荐指数
1
解决办法
4284
查看次数

Workflow Foundation 4中的用户定义的动态工作流程?

我已经详尽地查看了WF4的示例,并且不确定它是否适用于我的项目.否则我需要被说服.我正在努力实现一个使用WF4的系统,以便用户能够定义工作流程.您似乎需要VS2010经验来设计和实施WF4工作流程.我喜欢它可以提供的小麦,但是对于非技术用户来说这可能太复杂了.

我们是否只定义了大量用户可以移动到工作流程中的自定义活动?我们如何才能让用户尽可能轻松地构建工作流程?

我们有想要允许的应用程序,Joe/Jane用户可以为特定项目创建自己的工作流程.例如,Request For Information项目.RFI具有由用户定义的特定状态.应允许他们根据这些状态控制流量.应用程序将根据决策/条件定义一些基本项目.因此,诸如通知(当某些内容发生变化时会收到通知),时间范围(某些事情可以在其他事情发生之前保持某种状态)以及可能的其他条件之类的事情.目前,条件/决策类型将受到应用程序的限制.但想象一下,他们可以构建工作流程并在没有任何编码知识的情况下添加这些决策/条

我只是不知道如何以这种方式利用WF4.也许我正在以错误的方式看待WF4?

c# asp.net workflow-foundation-4

6
推荐指数
1
解决办法
4111
查看次数

在Workflow Foundation问题中切换字符串

我遇到了WF4的一个非常奇怪的问题:当我使用Switch活动并以某种方式决定字符串变量的值时,WF将Switch的参数视为字符串,而不是变量的名称.因此我得到了不正确的结果.重现的步骤:

- create new WF
- add Sequence
- add Switch of String to the Sequence
- add a new string variable named, for instance, [testText] and set its default value to "test"
- set argument of the switch to testText
- create a case in the switch for "test" string and show msgbox on it
- create another case, let it be default case which shows another msgbox with "default" text
- run
突然,我们在这里得到一个带有"默认"文本的消息框,而不是testText案例的消息框

workflow-foundation-4

6
推荐指数
1
解决办法
1709
查看次数

Windows Workflow Foundation 4的状态机或流程图?

我们目前有一个处理翻译工作的系统.

  1. 客户创建订单
  2. 项目经理将其交给一个或多个翻译
  3. 然后它去了校对员
  4. 语言管理员检查质量,如果不好,工作可以追溯到翻译
  5. 项目经理将其交付给客户

目前,可以手动和/或覆盖所有状态.意味着可以跳过或退回任何步骤.

该应用程序是ASP.NET WebForms/MVC混合.

现在我想用Windows Workflow Foundation重新实现它.状态机比流程图更有意义吗?我并没有真正获得国家机器的优势......

asp.net workflow-foundation workflow-foundation-4

6
推荐指数
2
解决办法
2979
查看次数

实现AsyncCodeActivities(使用C#async/await)

很长一段时间我使用以下模板编写自定义AsyncCodeActivity类:

public sealed class MyActivity : AsyncCodeActivity<T>
{
    protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state)
    {
        var task = new Task<T>(this.Execute, state, CancellationToken.None, TaskCreationOptions.AttachedToParent);
        task.ContinueWith(s => callback(s));
        task.Start();
        return task;
    }

    protected override T EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
    {
        var task = result as Task<T>;
        if (task.Exception != null)
        {
            // Error handling. Rethrow? Cancel?
        }

        return task.Result;
    }

    private T Execute(object state)
    {
        // Logic here
        return default(T);
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一些问题:

  1. 哪种方法可以处理异常?重新抛出?将上下文设置为已取消?
  2. 是否有一种优雅的方式来编写现在可用的async/await语法?

谢谢

c# workflow-foundation-4 async-await

6
推荐指数
1
解决办法
4909
查看次数

使用WorkflowInvoker和WorkflowApplication有什么区别?

我注意到当我使用Invoker并直接调用invoker.Invoke()时,GUI不会在运行时刷新.还有什么区别?

.net wpf workflow-foundation-4 rehosting

5
推荐指数
1
解决办法
1218
查看次数

加载XAML工作流时的参考

我正在学习Windows Workflow Foundation 4,并尝试创建以下程序:

using System;
using System.Activities.XamlIntegration;
using System.Linq;
using System.Activities;
using System.Activities.Statements;
using System.Reflection;
using System.Xaml;

namespace BranchedActivities
{

    class Program
    {
        static void Main(string[] args)
        {
            Activity wf = ActivityXamlServices.Load(@"C:\...\Workflow1.xaml");
            WorkflowInvoker.Invoke(wf);

            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Workflow1包含一个单独的动作,称为Activity1。Activity1.xaml由单个Writeline组成。

当我将工作流作为已编译的Activity加载时(通过使用“ Activity wf = new Workflow1()”),程序将完美加载。当我尝试为活动加载XAML时(如上面的代码),出现异常:无法创建未知类型'{clr-namespace:} Activity1'。

我想我也必须以某种方式加载其他xaml文件,尽管我对此非常困惑。

供您参考。...Workflow1.xaml:

<Activity mc:Ignorable="sap" x:Class="Workflow1" sap:VirtualizedContainerService.HintSize="262,240" mva:VisualBasic.Settings="Assembly references and imported namespaces for internal implementation" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mv="clr-namespace:Microsoft.VisualBasic;assembly=System" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:s1="clr-namespace:System;assembly=System" xmlns:s2="clr-namespace:System;assembly=System.Xml" xmlns:s3="clr-namespace:System;assembly=System.Core" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System" xmlns:scg1="clr-namespace:System.Collections.Generic;assembly=System.ServiceModel" xmlns:scg2="clr-namespace:System.Collections.Generic;assembly=System.Core" xmlns:scg3="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sd="clr-namespace:System.Data;assembly=System.Data" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:st="clr-namespace:System.Text;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:local="clr-namespace:">
  <Sequence …
Run Code Online (Sandbox Code Playgroud)

.net c# xaml workflow-foundation-4

5
推荐指数
1
解决办法
1万
查看次数

找不到连接名称'ApplicationServerWorkflowInstanceStoreConnectionString'(机器配置)的连接字符串)

我在机器配置中注册了一个名为'ApplicationServerWorkflowInstanceStoreConnectionString的连接字符串(机器配置的32位和64位版本).但是,即使IIS管理器看到它(在特定Web应用程序的节连接字符串中),应用程序也看不到它.我究竟做错了什么?

IIS管理器和失败页面

安琪莉.

.net asp.net iis-7 workflow-foundation-4 machine.config

5
推荐指数
1
解决办法
1499
查看次数