将大参数传递给c#webapi并返回结果
我如何每次将500个甚至1000个URL传递给c#webapi并返回结果? 我应该使用get方法还是post方法?第一步 您需要在控制器中使用post方法。并接收字符串数组将大参数传递给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:
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){}