На уровне службы, при синтаксическом анализе строки JSON, если при синтаксическом анализе происходит сбой, JsonReaderException
передается в контроллер.
JObject jData = new JObject();
try
{
jData = JObject.Parse(response.Content);
}
catch (JsonReaderException ex)
{
throw ex;
}
В контроллере, который находится в веб-слое, после перехвата этого исключения я хочу сохранить эту строку JSON в базе данных вместе с сообщением об исключении.
catch(JsonReaderException ex)
{
_exceptionLogService.LogException(new ExceptionLog()
{
Date = DateTime.Now,
Message = ex.Message,
Content = "json string (response.Content) goes here"
}
}
Я мог бы сделать это на уровне сервиса (и именно так я и делал изначально), однако из-за внедрения зависимости мне пришлось бы добавить зависимость к _exceptionLogService
, а затем изменить код во многих местах. Я ищу более простой способ сделать это в веб-слое, если это возможно. Как мне это сделать?