C# ASP.NET MVC处理请求错误

C# ASP.NET MVC处理请求错误,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,在我的.NETMVC应用程序中,我需要处理服务器端验证。如果请求有问题,我会得到以下信息: { "validationMessage": message } 状态代码=200。 否则我当然会得到正确的回应。我的问题是,我在检查验证消息,然后反序列化响应时遇到问题(尽管fiddler向我显示响应会返回,但我在那里总是得到null) 可能是反序列化问题。您是否尝试过在json响应中使用大写V的ValidationMessage?另外,serverErrorInfo是完全为null,还是仅属性

在我的.NETMVC应用程序中,我需要处理服务器端验证。如果请求有问题,我会得到以下信息:

{
   "validationMessage": message
}
状态代码=200。 否则我当然会得到正确的回应。我的问题是,我在检查验证消息,然后反序列化响应时遇到问题(尽管fiddler向我显示响应会返回,但我在那里总是得到null)


可能是反序列化问题。您是否尝试过在json响应中使用大写V的ValidationMessage?另外,serverErrorInfo是完全为null,还是仅属性ValidationMessage为null?在反序列化到ServerError之前,您能检查response.Content的值是多少吗?

最后,解决方案只是使用了一些难看的代码:

var serverErrorInfo = JsonConvert.DeserializeObject<ServerError>(await response.Content.ReadAsStringAsync());
var serverErrorInfo=JsonConvert.DeserializeObject(wait response.Content.ReadAsStringAsync());

我很不确定ReadAsAsync为什么会在那里失败。

不幸的是,整个ServerErrorInfo对象为空。有一次,我在没有条件的情况下切换了顺序(只是首先作为响应对象读取,然后作为错误读取,我在puropose上创建了错误的请求)。内容不会被反序列化为响应(这很明显,因为没有任何内容需要反序列化,但也不会反序列化状态消息。使用大小写也没有帮助。当我尝试ReadAsAsync时,内容长度为36,这意味着验证消息必须存在。
 [JsonObject]
public class ServerError
{
    public string validationMessage{ get; set; }
}
var serverErrorInfo = JsonConvert.DeserializeObject<ServerError>(await response.Content.ReadAsStringAsync());