2015-12-21 5 views
3

Этот фрагмент делает анализатор семантического журнала «Число аргументов WriteEvent и параметров событий различаются в имени события« HandlingCommand ».»Исключительное количество исключений для анализа семантического регистратора значений аргументов WriteEvent и параметров событий

[NonEvent] 
public void HandlingCommand(Command command) 
{ 
    if (this.IsEnabled()) 
    { 
     this.HandlingCommand(command.Id.ToString(), command.Agent.AgentId.ToString()); 
    } 
} 

[Event(1101, 
    Level = EventLevel.Informational, 
    Keywords = Keywords.Agent)] 
private void HandlingCommand(string commandId, string agentId) 
{ 
    this.WriteEvent(1101, commandId, agentId); 
} 

Единственный способ устранения ошибки анализатор должен иметь два параметра WriteEvent (ID события и commandId, например) и один аргумент события (например, commandId). Если я попытаюсь с любой комбинацией с более чем одним параметром/аргументом, вызывается вышеупомянутое исключение. Исключение выбрано для любого события с более чем одним параметром/аргументом, а не только приведенным примером.

Я использовал эти образцы в качестве отправной точки https://github.com/mspnp/semantic-logging/tree/master/quickstarts.

+0

Я попытался воспроизвести ошибку, не имея успеха. Не могли бы вы добавить оставшийся код в фрагмент? – mekoda

ответ

2

Я столкнулся с той же ошибкой и не мог понять это. В конце концов я получил код EventSourceAnalyzer, скомпилированный и отлаженный.

То, что я обнаружил, что мой WriteEvent был на самом деле писать следующее:
EventSourceException при обработке событий «имяМетода»: Нет свободных буферов доступны в операционной системе (например, скорость события слишком быстро).

в классе EventSourceAnalyzer Существует эта линия:
if (eventParameters.Length != this.EventData.Payload.Count)
throw mismatch exception

Теперь, потому что мой WriteEvent был на самом деле проходит в 3 Params, тот факт, что WriteEvent был в сущности метания ошибка вызвала EventSourceAnalyzer неправильно интерпретировать его как несоответствие.