我有一些自定义转换器已添加到我的 WebApi 项目的 SerializationSettings 中。当我在其中一个转换器中抛出异常时,我仍然会收到对 Action 的调用。根据哪个转换器失败,主体参数可以为 null 或设置默认值。我缺少什么会导致 webapi 抛出该错误,以便我可以在更全局的层面上处理它?
webapi 版本:4.0.30506
json.net 版本:5.0.8
最佳答案
我遇到了同样的问题(但有解决方法)。您可以将标志放入 http 上下文中,稍后在 web api 中访问它并在那里处理它。您不能从自定义序列化程序中抛出异常并在 web api 中捕获它。如果您试图超越它,它只是忽略异常并强制执行到 ReadJson 函数的末尾。
您可以将其用于 http 上下文 HttpContext.Current.Items["错误信息"] = "一些错误信息"
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer){
...
throw new Exception();
...
///comes here to the end directly
}
关于asp.net-web-api - 当 WebApi 序列化失败时,我希望异常冒泡而不是 null 我的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23529770/