是否可以指定何时执行FactRetriever?

时间:2014-04-26 11:37:53

标签: c# biztalk

在以下文档中,有一些信息可以创建FactRetrieverhttp://msdn.microsoft.com/en-us/library/aa560118.aspx

但它没有提到他们多久会执行一次。

问题1:确定FactRetriever执行间隔的机制是什么?

问题2:是否可以为事件订阅FactRetriever的执行?例如,Database TriggerCreation of a file in a specified folder

1 个答案:

答案 0 :(得分:0)

不,不明确。

该文章确实说明每次执行策略时都会调用UpdateFacts,这是IFactRetriever中定义的唯一方法。

所以,回答你的具体问题:

  1. 每次执行策略时都会调用UpdateFact。
  2. 技术上是的,但这将是你自己的实现。 IFactRetreiver的实例缓存在内存中,因此您可以自由地挂钩到您想要的任何事件。因此,如果您听到数据库触发器触发,则会在下次执行策略时记下更新事实。您还可以保留计时器或您编写的任何其他内容或在.Net中提供。
  3. 要注意,由于文章中不清楚,factsHandleIn是对最初与engine.Assert()一起使用的事实集合的引用。这通常是一个对象[]。