2012-08-17 57 views
1

實體屬性模式用於我們的應用程序結構(即)屬性以鍵值對錶示並通過索引器訪問。WF規則 - 鏈接索引器

計劃使用工作流規則引擎來配置此結構中的規則。但是在哪裏找不到鏈接機制應用程序示例。如果使用索引器屬性,需要知道如何在規則中應用鏈接?

問候,

Mani.M

+0

鏈接是什麼意思? – 2012-08-20 12:42:44

+0

鏈接建立了基於屬性更新的規則的執行流程。例如。在消費者實體中,如果配置了兩個規則。一個計算工資和其他獎金。薪水的計算應該在獎金之前。它將通過鏈接wrokflow規則引擎的功能來建立。 – user1606558 2012-08-21 09:13:02

+0

只是想爲索引器應用相同的。需要知道如何應用它。 – user1606558 2012-08-21 09:14:33

回答

0

那麼,你所能做的就是將它添加到RuleSet,這樣的方式可以WF正確排序規則之前設定的規則的Priority。您將需要創建自己的RuleSet以使其更容易,下面是您可能想要做的事情的示例。

public class MyRuleSet 
{ 
    // this is the WF rule set 
    private RuleSet ruleSet = new RuleSet(); 

    private const int maxRuleSetSize = 1000; 

    public void AddRule(Rule rule) 
    { 
     rule.Priority = maxRuleSetSize - (this.ruleSet.Rules.Count + 1); 
     this.ruleSet.Rules.Add(rule); 
    } 
} 

然後,當你準備執行規則,你需要與你的新RuleSet打造RuleSet,使他們在它們被添加的順序執行。

var ruleSet = new MyRuleSet(); 
ruleSet.AddRule(new Rule1()); 
ruleSet.AddRule(new Rule2()); 
... 

然後你需要執行那個RuleSet

+0

對不起......這是規則優先級的手動設置..通常,對於特定實體,可以隨時添加規則,並且用戶不知道現有規則。如果在不同的時間添加規則,設置添加規則的優先級不起作用...如果這是解決方案,則不需要在規則引擎中內置鏈接。它是規則引擎的第四個特徵之一...正確答案請... – user1606558 2012-08-21 17:03:03

+0

@ user1606558 - 不幸的是,WF規則引擎工作的方式是線性執行'RuleSet',所以也許答案是它不適用於您。 – 2012-08-21 17:08:05