我怎么知道哪些IBM iLog.NET规则在执行期间受到了影响?

时间:2013-10-03 16:05:37

标签: ilog

我正在使用IBM iLog.NET业务规则引擎(v7r1或其左右),我无法找到我的规则失败的原因。如何追踪失败的原因,地点和原因?

我有一个本地对象模型,它调用我在IIS 6.0上的IBM规则服务中托管的规则。

我的大约一半规​​则被配置为使用新的状态代码修改其中一个输入对象。我觉得应该没有设置代码,但我无法确切地说出哪些规则受到了影响。

1 个答案:

答案 0 :(得分:0)

我发现IBM iLog.NET documentation的答案深埋在内心深处。持久的Google搜索显示我可以在ILOG.Rules.ExecutionServer.Trace.EventFilterCategories对象上设置ExecutionRequest,然后再将其发送到服务器。

ExecutionRequest request = new ExecutionRequest(rulePath);
request.TraceFilter.EventFilters 
    = ILOG.Rules.ExecutionServer.Trace.EventFilterCategories.All;

...

ExecutionResponse response = session.Execute(request);
ILOG.Rules.ExecutionServer.Trace.Trace trace = response.Trace;
Debug.WriteLine(trace.SerializedExecutionTrace);

序列化跟踪包含调用的所有输入和输出,以及执行期间触发的所有规则以及完全没有命中的规则。