SLAB, вне процесса: изменение подписи метода источника события приводит к неправильной регистрации событий

Я реализовал класс источника событий для регистрации событий. После многократного изменения подписи (имен параметров и типов параметров) одного метода, который регистрирует события, события больше не регистрируются правильно. Например, когда событие регистрируется, вместо того, чтобы устанавливать полезную нагрузку с именем текущего параметра, события регистрируются с использованием параметров, использованных для предыдущей версии метода. Например:

Версия n метода:

    [Event(5, Message = "Action: {0}",
    Task = Tasks.PAGE,
    Keywords = Keywords.USER_ACTION,
    Level = EventLevel.Informational)]
    public void LogAction(string action, string paramName)
    {
        this.WriteEvent(5, action, paramName);
    }

Версия n + 1 метода:

    [Event(5, Message = "Action: {0}",
    Task = Tasks.PAGE,
    Keywords = Keywords.USER_ACTION,
    Level = EventLevel.Informational)]
    public void LogAction(string action, string newParamName)
    {
        this.WriteEvent(5, action, newParamName);
    }

Когда этот метод вызывается для регистрации событий, они регистрируются, устанавливая значение Payload с именем параметра paramName вместо newParamName.

А теперь вопрос: как очистить «кеш», чтобы система забыла старую версию метода, а новый метод мог правильно регистрировать события?

Л.Э .: Я тестировал протоколирование с PerfView. Забавно, она правильно читает логи. Я снова протестировал с SemanticLogging-svc.exe, журналы по-прежнему отображаются неправильно. Похоже, проблема не в регистрации событий, а в их чтении.

Ответы на вопрос(2)

Ваш ответ на вопрос