asp.net-web-api - 当 WebApi 序列化失败时,我希望异常冒泡而不是 null

我有一些自定义转换器已添加到我的 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/

相关文章:

sql - 在 NLTK 中将英语转换为 SQL

xml - 使用 XSLT 转换在 WordProcessingML 中保留换行符和空格

php - Laravel:模型内验证。多重验证规则

python - 用python编写的鼠标运动跟踪程序

r - 警告 : replacing previous import ‘head’ when loa

macos - 通过 XPC 与应用程序通信并启动以 root 身份运行的守护进程

jquery - Select2 无限滚动组

ios - 解码Code128条码?

.net - 每个文件只执行一个类

sorting - lucene.net,文档提升不起作用