Как узнать, какие правила 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);
Сериализованная трассировка содержит все входы и выходы для вызова, а также все правила, которые были запущены во время выполнения, и правила, которые не были выполнены вообще.