PostAsJsonAsync方法的问题

时间:2017-05-30 19:38:48

标签: c# asp.net

我有问题让我头疼,PostAsJsonAsync方法返回500内部服务器错误,但该方法尝试发送的JSON是正确的,因为当我使用Postman时我发送相同的JSON和服务器收到它,我读了我发现的关于这个主题的所有问题,我无法找到问题所在,我作为localhost运行,这是代码片段:

client.BaseAddress = new Uri(endPoint);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.TryAddWithoutValidation("ZUMO-API-VERSION",2.0.0");
client.DefaultRequestHeaders.TryAddWithoutValidation("RM-EXT-KEY", key);

var content  = new StringContent(JsonConvert.SerializeObject(NotifiedUser), 
                   Encoding.UTF8, "application/json");
var response = await client.PostAsJsonAsync(endPoint, content);

我已经检查过并且两个实例的TryAddWithoutValidation都返回true,因此PostAsJsonAsync方法的每个参数都是正确的。

谢谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试过client.SendAsync而不是client.PostAsJsonAsync(endPoint,content)? 我有类似的问题与外部java服务交谈,PostAsJson返回400,改为

var request2 = new HttpRequestMessage(HttpMethod.Post,uri) {     Content = new StringContent(JsonConvert.SerializeObject(apdRequest),Encoding.UTF8,         "应用/ JSON&#34) };

var response = client.SendAsync(request2).Result;

它开始工作..它似乎与PostAsJson没有正确的事情