短期事實與長期事實
有兩種事實會判斷提示到規則引擎的工作記憶體 – 一為短期事實,另一為長期事實。
短期事實
短期事實是規則引擎的單一執行循環所特有的。 短期事實會在原則執行之後自動從規則引擎的工作記憶體中撤回。 如果原則的資料在規則引擎的執行循環之間有所變更,則可以將該資料當做短期事實提交至規則引擎。
短期事實的範例:
您提交為 Policy.Execute 方法參數的事實。
您提交為 呼叫規則 圖形參數的事實。
您使用 Assert 函式從規則動作提交的事實。
長期事實
長期事實會載入至規則引擎的工作記憶體中,供任意數目的執行循環使用。 一般而言,長期事實是變更緩慢的事實,一般不會在原則的執行作業之間變更。 例如,您可能只想建立一次資料庫連線,然後使用同一個資料庫連線來執行原則數次。 短期事實和長期事實唯一真正的差異在於實作。
若要將事實當做長期事實提交,需要執行下列步驟:
建立實作 IFactRetriever 介面的事實擷取器元件。 第一次叫用 UpdateFacts 方法時,建立並判斷規則引擎的工作記憶體,並在後續的 UpdateFacts 方法叫用時更新事實。
使用商務規則編輯器將原則設定為使用事實擷取器。
如需建立事實擷取器並在原則中使用的詳細資訊,請參閱 如何建立事實擷取器。