Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
C# 后同步方法的问题_C#_Asp.net - Fatal编程技术网

C# 后同步方法的问题

C# 后同步方法的问题,c#,asp.net,C#,Asp.net,我被一个问题弄糊涂了,PostAsJsonAsync方法返回一个500内部服务器错误,但该方法尝试发送的JSON是正确的,因为当我使用Postman时,我发送了相同的JSON,服务器收到了它,我阅读了我找到的关于主题的所有问题,我找不到我的问题出在哪里,我以localhost的身份运行,下面是代码片段: client.BaseAddress = new Uri(endPoint); client.DefaultRequestHeaders.Clear(); client.DefaultReque

我被一个问题弄糊涂了,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方法的每个参数都是正确的

谢谢大家!

您是否只尝试了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方法。我知道,以前是这样的,但这并不能解决任何问题。我认为该方法以一种奇怪的方式序列化,并在进入该方法之前进行了序列化以检查它,但问题仍然存在