C# 后同步方法的问题
我被一个问题弄糊涂了,PostAsJsonAsync方法返回一个500内部服务器错误,但该方法尝试发送的JSON是正确的,因为当我使用Postman时,我发送了相同的JSON,服务器收到了它,我阅读了我找到的关于主题的所有问题,我找不到我的问题出在哪里,我以localhost的身份运行,下面是代码片段:C# 后同步方法的问题,c#,asp.net,C#,Asp.net,我被一个问题弄糊涂了,PostAsJsonAsync方法返回一个500内部服务器错误,但该方法尝试发送的JSON是正确的,因为当我使用Postman时,我发送了相同的JSON,服务器收到了它,我阅读了我找到的关于主题的所有问题,我找不到我的问题出在哪里,我以localhost的身份运行,下面是代码片段: client.BaseAddress = new Uri(endPoint); client.DefaultRequestHeaders.Clear(); client.DefaultReque
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方法的每个参数都是正确的
谢谢大家! 您是否只尝试了client.SendAsync而不是client.postasjssonasyncendpoint,content?
我在与外部java服务交谈时遇到了类似的问题,PostAsJson返回了400,但更改为:
var request2 = new HttpRequestMessage(HttpMethod.Post, uri)
{
Content = new StringContent(JsonConvert.SerializeObject(apdRequest), Encoding.UTF8,
"application/json")
};
var response = client.SendAsync(request2).Result;
它开始工作了
似乎PostAsJsonAsync没有正确地进行序列化,但没有给出任何问题的迹象。您不需要将类转换为json字符串。您可以直接将类对象传递给PostAsJsonAsync方法。我知道,以前是这样的,但这并不能解决任何问题。我认为该方法以一种奇怪的方式序列化,并在进入该方法之前进行了序列化以检查它,但问题仍然存在