FactRetriever有哪些用途?

时间:2014-04-27 08:33:10

标签: c# biztalk

随着我对FactRetriever越来越熟悉,我们将其中一项用法作为Business Rule Composer测试政策的一种方式。

使用它的其他方法有哪些。

我找到了这个链接:http://msdn.microsoft.com/en-us/library/aa560118.aspx 而且有些代码似乎引入了一种新的方式。该代码的一部分是:

RuleEngineComponentConfiguration fr = new RuleEngineComponentConfiguration("MyAssembly", "Retriever");
RuleSet rs = new RuleSet("ruleset");
// associate the execution configuration with a ruleset
RuleSetExecutionConfiguration rsCfg = rs.ExecutionConfiguration;
rsCfg.FactRetriever = factRetriever;

虽然看起来正在做我想要的。但我不明白它是如何运作的。我不熟悉RuleEngineComponentConfigurationRuleSetRuleSetExecutionConfiguration等概念。此外,我还没有找到关于链接中的整个代码示例的任何好文档。

问题1:是否可以在BizTalk Server本身的某处定义它以使用它们(不在业务规则编写器中)?

问题2: Microsoft.RuleEngine的对象模型及其关键概念是否有任何好的文档?

1 个答案:

答案 0 :(得分:0)

BRE已经或者你可以说是一个完整的.Net API,因此代码片段简单演示了如何以编程方式为策略指定策略的事件检索器(意味着策略Xml,而不是.config或类似的东西) )。如果指定事实检索器,这与实际引擎完全相同。

Q1:不,不是在使用Call Rules Shape时,必须在Composer中配置整个Policy,包括Fact Retriever。从技术上讲,您可以从表达式形状中的助手类执行策略,您可以完全访问API。

Q2:对不起,除了MSDN的基础知识。这些课程名称很好。除了好奇心,你可能不必担心。我经常看到在C#中执行的策略,但我从未见过有人在C#中实际构建策略和规则。

这是每个人用于BRE的API的一部分:http://msdn.microsoft.com/en-us/library/aa561833.aspx