07 2007 档案
摘要:以前在用的时候明白,过后就忘了,总结一些杂项点,引起注意:1. 大多数正则表达式引擎是NFA,也就是Regex Based引擎,当然.net的也不例外。其行为特征就是以pattern中的字符去匹配input中的字符,而不是相反。2. Regex Engine的行为特征:热情原则”:一旦存在一个匹配,则报告匹配成功,而不进行进一步的尝试。这在可替换符号|存在时非常明显,比如:p: hea...
阅读全文
摘要:在WF的环境下很容易造成死循环,因为根据forward-channing的推理原则,一条rule自己可以触发自己,在这种情况下 造成了死循环:IF this.disCount == 10 THEN this.disCount = 10 这条语句将很容易造成死循环。另外在两个或者 多个Rules的情况下也容易造成死循环: R1 : IF this.Name != "headchen" THEN th...
阅读全文
摘要:因为WF Rules 是针对Instance而非Type,也就是说针对单个对象而不是针对于集合,所以对于集合的规则来说,就显得实现起来非常麻烦,首先需要定义额外的属性,另外需要定义多个规则,而且要精心设计,才能实现迭代。典型的实现如下: Rule 1 (Priority = 2) //Always execute this rule once to create the enumerator....
阅读全文
摘要:不同于BizTalk中的基于Rete算法的引擎实现,WF仅仅利用基于优先级的演绎过程来分析结果。而且是基于对象实例而非类型。1) 首先把RuleSet中Rule按照优先级进行排序,若优先级相同,则按照Rule的名称Name来进行排序。并且所有的Pending标记均设置为True(其含义是当前的Rule的Action是否执行过,可否作为重新执行的候选)。2) 依次计算Rule的condition,每...
阅读全文
摘要:Wf Tracking Service Deep Dive 应该说对Wf Tracking 说的比较详细。立此存照。 Writing Tracking Services for Windows Workflow Foundation 其中对TrackingService的几个方法 GetProfile,TryGetProfile,TryReloadProfile等调用的情况论述的非常详细。 Int...
阅读全文