Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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#webapi并返回结果_C#_Asp.net_Asp.net Web Api - Fatal编程技术网

将大参数传递给c#webapi并返回结果

将大参数传递给c#webapi并返回结果,c#,asp.net,asp.net-web-api,C#,Asp.net,Asp.net Web Api,我如何每次将500个甚至1000个URL传递给c#webapi并返回结果? 我应该使用get方法还是post方法?第一步 您需要在控制器中使用post方法。并接收字符串数组 public IEnumerable<Category> GetCategories([FromUri] int[] categoryIds) 然后在您的方法中执行计算并像往常一样返回结果您应该在body中发布整数数组 如果您使用jquery来完成这篇文章,您可以执行如下操作 $.ajax({ type:

我如何每次将500个甚至1000个URL传递给c#webapi并返回结果? 我应该使用get方法还是post方法?

第一步

您需要在控制器中使用post方法。并接收字符串数组

public IEnumerable<Category> GetCategories([FromUri] int[] categoryIds)

然后在您的方法中执行计算并像往常一样返回结果

您应该在body中发布整数数组

如果您使用jquery来完成这篇文章,您可以执行如下操作

$.ajax({
  type: "POST",
  url: url,
  data: [1, 2, 3]
});
在Api中-

public HttpResponse Post(int[] ids){}

我需要传递大约1000个URL,每个URL长度约为100个字符,因此webapi参数的总长度约为100000个字符,超过标准URL长度。这只是一个示例,您还可以使用Jquey AJAX函数将对象作为字符串[]传递给api。问题是参数的长度,正如我所提到的,参数约为1000个URL,搜索URL为100个字符长度,因此很容易超过2048 URL长度限制问题在于参数的长度,正如我所提到的,参数约为1000个URL,搜索URL为100个字符长度,因此很容易超过2048 URL长度限制如果您执行HttpPost,它将不会达到URL长度限制。我认为当您将url中的参数传递给Http GET方法时,它达到了url最大限制,但是如果使用了HttpPost,结果(在本例中为url数组)是如何返回的?您可以返回列表,而不是返回HttpResponse。您可以从post方法返回列表类型。
public HttpResponse Post(int[] ids){}