Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC无效JSON,自定义请求验证_Asp.net Mvc - Fatal编程技术网

Asp.net mvc ASP.NET MVC无效JSON,自定义请求验证

Asp.net mvc ASP.NET MVC无效JSON,自定义请求验证,asp.net-mvc,Asp.net Mvc,我有一个ASP.NETMVC4应用程序,其中一些操作用于API和使用JSON数据。它们设计用于我们的硬件设备。由于某些错误或其他原因,设备有时会发送损坏的无效JSON。ASP.NET验证请求并以500错误响应。我想将其替换为400响应 问题是如何仅为某些操作或整个解决方案替换此验证检查,而不禁用整个应用程序的请求验证 目前我正在检查应用程序的错误,它工作得很好,但我不喜欢它 我想构建某种类型的操作过滤器,但请求验证似乎在开始操作之前进行 DefaultModelBinder首先绑定模型,然后再进

我有一个ASP.NETMVC4应用程序,其中一些操作用于API和使用JSON数据。它们设计用于我们的硬件设备。由于某些错误或其他原因,设备有时会发送损坏的无效JSON。ASP.NET验证请求并以500错误响应。我想将其替换为400响应

问题是如何仅为某些操作或整个解决方案替换此验证检查,而不禁用整个应用程序的请求验证

目前我正在检查应用程序的错误,它工作得很好,但我不喜欢它


我想构建某种类型的操作过滤器,但请求验证似乎在开始操作之前进行

DefaultModelBinder
首先绑定模型,然后再进行操作筛选。一个选项可能是创建一个自定义模型绑定器,该绑定器抛出一个自定义异常,该异常可由
[HandleError]
属性处理,该属性反过来返回一个400 responsethanks@StephenMuecke,我曾考虑过模型绑定器。情况是,我希望在不同的操作中使用不同的模型。同时,默认情况下,不要在整个应用程序中使用此行为。您可以仅为特定的操作方法或模型类指定自定义模型绑定器。@StephenMuecke尝试了您的建议,似乎在模型绑定具有许多可以覆盖的方法之前就进行了请求验证,包括