在服务层,当解析一个 JSON 字符串时,如果解析失败则JsonReaderException抛出一个给控制器。JObject jData = new JObject();try{ jData = JObject.Parse(response.Content);}catch (JsonReaderException ex){ throw ex;}在 Web 层的控制器中,捕获到该异常后,我想将该 JSON 字符串与异常消息一起存储在数据库中。catch(JsonReaderException ex){ _exceptionLogService.LogException(new ExceptionLog() { Date = DateTime.Now, Message = ex.Message, Content = "json string (response.Content) goes here" }}我可以在服务层执行此操作(我最初就是这样做的),但是,由于依赖注入,我将不得不添加一个依赖项_exceptionLogService,然后在很多地方更改代码。如果可能的话,我正在寻找一种更简单、更快捷的方法来在 web 层中执行此操作。我该怎么做呢?
1 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
您的代码中没有提到您的控制器,所以我不知道。如果你的代码的第二部分,创建一个你自己的新异常,它接受一个 json 字符串的参数,这样你就可以传递它 – BugFinder 2 小时前
我通过创建一个JsonParseException将 aJsonReaderException和一个字符串作为参数的自定义并将其交给控制器来解决这个问题。不幸的是,我无法将评论标记为答案。
JObject jData = new JObject();
try
{
jData = JObject.Parse(response.Content);
}
catch (JsonReaderException ex)
{
throw new JsonParseException(ex, response.Content);;
}
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消