Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.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# 通过HttpClient.PostAsJsonAsync将多个标量参数传递给WebAPI_C#_Asp.net Web Api - Fatal编程技术网

C# 通过HttpClient.PostAsJsonAsync将多个标量参数传递给WebAPI

C# 通过HttpClient.PostAsJsonAsync将多个标量参数传递给WebAPI,c#,asp.net-web-api,C#,Asp.net Web Api,以下是我的方法: [HttpPost] [ActionName("TestString")] public string TestString([FromBody] int a, [FromBody] int b, [FromBody] int c) { return "test " + a + " " + b + " " + c; } 有什么方法可以使用HttpClient.PostAsJsonAsync 我试过这个: httpresponsemessageresponse=client

以下是我的方法:

[HttpPost]
[ActionName("TestString")]
public string TestString([FromBody] int a, [FromBody] int b, [FromBody] int c)
{
  return "test " + a + " " + b + " " + c;
}
有什么方法可以使用
HttpClient.PostAsJsonAsync

我试过这个:

httpresponsemessageresponse=client.postsjsonasync(“api/task/TestString”,“a=8,b=5,c=6”)。结果

但是我得到了这个错误:
StatusCode:500,原因短语:“内部服务器错误”


提前谢谢

我很确定您只允许使用一个[FromBody]标记。尝试(添加您自己的错误处理等):


如果for表单主体实际上包含a、b和c,那么这应该是可行的。

谢谢,但它只是通过“a=6&b=5&c=2”发送整个字符串,而没有拆分变量。不回答问题。回答问题-不,你不能调用你的函数(任何东西),因为它总是抛出一个内部服务器错误。您不能有多个[FromBody]属性-不需要它,因为HTTP POST只有一个主体。
[HttpPost]
[ActionName("TestString")]
public string TestString([FromBody] dynamic body)
{
  return "test " + body.a.ToString() + " " + body.b.ToString() + " " + body.c.ToString();
}