Как узнать, какие правила IBM iLog.NET подвергаются ударам во время выполнения?

Я использую механизм бизнес-правил IBM iLog.NET (v7r1 или около того) и не могу найти причину сбоя моих правил. Как мне отследить, что терпит неудачу, где и почему?

У меня есть локальная объектная модель, которая вызывает мои правила, размещенные в службе правил IBM на IIS 6.0.

Около половины моих правил настроены на изменение одного из входных объектов новым кодом состояния. Код не устанавливается, когда я думаю, что он должен, но я не могу окончательно сказать, какие правила нарушаются.

1 ответ

Решение

Я обнаружил, что в документации IBM iLog.NET ответ похоронен глубоко, глубоко внутри. Постоянный поиск в 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);

Сериализованная трассировка содержит все входы и выходы для вызова, а также все правила, которые были запущены во время выполнения, и правила, которые не были выполнены вообще.

Другие вопросы по тегам