C# 我们可以在web应用程序中使用WF规则引擎吗?

C# 我们可以在web应用程序中使用WF规则引擎吗?,c#,asp.net,web-applications,workflow-foundation,rule-engine,C#,Asp.net,Web Applications,Workflow Foundation,Rule Engine,试图了解如何在WWF应用程序之外使用WF规则引擎。我只看过一篇关于这个话题的博客。但我对可行性有一定的怀疑 我的申请要求如下: 用于编写规则并将其存储在数据库中的基于Web的UI windows服务将下载该规则。规则执行引擎将收集所需的数据并执行规则,并将结果作为输出 规则只是一组指令,必须作用于表中的一行。表的模式是动态的;但是,有一些元数据告诉规则执行引擎如何从该行收集必要的输入 我知道规则通常是使用规则编辑器输入的;这是一个windows窗体应用程序。这通常会生成一个*.rules文件。据

试图了解如何在WWF应用程序之外使用WF规则引擎。我只看过一篇关于这个话题的博客。但我对可行性有一定的怀疑

我的申请要求如下:

  • 用于编写规则并将其存储在数据库中的基于Web的UI
  • windows服务将下载该规则。规则执行引擎将收集所需的数据并执行规则,并将结果作为输出
  • 规则只是一组指令,必须作用于表中的一行。表的模式是动态的;但是,有一些元数据告诉规则执行引擎如何从该行收集必要的输入

    我知道规则通常是使用规则编辑器输入的;这是一个windows窗体应用程序。这通常会生成一个
    *.rules
    文件。据我所知,WF规则引擎评估此文件并执行规则

    *.rules
    文件是规则的xml表示形式


    <强> dotnet框架中是否有API生成了这个XML表示?< /强>,我们可以构建一个用于输入规则的基于Web的前端吗?

    如果您想使用Windows工作流基金会(WF),您必须生成WF XAML——而不是规则或XML表示(无论它是什么)。下面是一个例子。基本上有三种方法可以生成此结果(从最简单的方法开始)

  • 在visualstudio中使用设计器
  • 通过生成一个实例运行时和
  • 通过实现您自己的生成器

  • < P> >回答你的问题:<强>是的,它是选项2。< /强>如果你的规则非常简单(如果是其他的话),并且你不期望它们将来的复杂度增加,那么选项“5月3日”也是一个可行的选择。

    < P>如果你想使用Windows工作流基金会(WF),必须生成WF XAML,而不是.rules或其XML表示形式(不管是什么)。下面是一个例子。基本上有三种方法可以生成此结果(从最简单的方法开始)

  • 在visualstudio中使用设计器
  • 通过生成一个实例运行时和
  • 通过实现您自己的生成器

  • 回答您的问题:是-这是选项2。如果您的规则非常简单(如果没有),并且您预计它们在未来不会增加复杂性,那么选项3也可能是一个可行的选择。

    想知道是否有api之类的东西,我遇到了以下问题:

    它是一个类似api的接口。但是,它使用来自
    System.CodeDom
    名称空间的对象(通常是各种
    CodeExpression
    对象)

    要使用它,您必须通过某种机制(使用xml或json)在前端正确表示代码表达式对象。在服务器中,即当您将规则发布到服务器时,必须正确创建必要的代码表达式(通过解析),并将这些内容提供给api

    您需要两种类型的代码表达式对象——一种用于计算规则条件,另一种用于在规则通过或失败时执行的内容。(我只需要规则通过时执行的东西)

    这里提供的示例让您了解了如何使用api。剩下的是你必须建立的东西


    程序源代码通常在内存中使用。您所需要设计的就是自己实现。

    想知道是否有api之类的东西,我遇到了以下问题:

    它是一个类似api的接口。但是,它使用来自
    System.CodeDom
    名称空间的对象(通常是各种
    CodeExpression
    对象)

    要使用它,您必须通过某种机制(使用xml或json)在前端正确表示代码表达式对象。在服务器中,即当您将规则发布到服务器时,必须正确创建必要的代码表达式(通过解析),并将这些内容提供给api

    您需要两种类型的代码表达式对象——一种用于计算规则条件,另一种用于在规则通过或失败时执行的内容。(我只需要规则通过时执行的东西)

    这里提供的示例让您了解了如何使用api。剩下的是你必须建立的东西


    程序源代码通常在内存中使用。您所要做的就是设计自己的实现。

    什么是格式。规则?WF规则引擎不计算*.rules,而是计算.xaml。什么格式是.rules?WF规则引擎不计算*.rules,而是计算.xaml。