Asp.net web api 将输入参数的长列表传递给web api

Asp.net web api 将输入参数的长列表传递给web api,asp.net-web-api,Asp.net Web Api,我正在使用Web API进行概念验证,以交付报告结果。唯一需要注意的是,这些报告的性质涉及一长串输入参数。例如,一个报表请求有关员工的信息,并接受电子邮件作为标识符。如果有人从Excel中列出2000名员工,这可能会成为一个巨大的输入参数 理想情况下,我希望用户只需将列表粘贴到文本框中,单击一个按钮,然后让我的代码解析列表并一次性生成结果。我可以重组内容,而不是强制用户发布他们的输入列表(将参数保存到DB表),然后运行报告 有没有办法处理这个问题,或者我应该重新考虑以这种“一次完成”的方式使用W

我正在使用Web API进行概念验证,以交付报告结果。唯一需要注意的是,这些报告的性质涉及一长串输入参数。例如,一个报表请求有关员工的信息,并接受电子邮件作为标识符。如果有人从Excel中列出2000名员工,这可能会成为一个巨大的输入参数

理想情况下,我希望用户只需将列表粘贴到文本框中,单击一个按钮,然后让我的代码解析列表并一次性生成结果。我可以重组内容,而不是强制用户发布他们的输入列表(将参数保存到DB表),然后运行报告


有没有办法处理这个问题,或者我应该重新考虑以这种“一次完成”的方式使用Web API调用

查询字符串的最大大小为2048个字符。使用下面列出的设置,可以在web.config文件中轻松更改

但是,有人告诉我,查询字符串长度也是特定于浏览器的。因此,我不确定默认字符长度是否足够

另一个解决办法是:

如果您有一个非常大的查询字符串,那么您可以将Get请求作为POST提交,并可以传递一个类数组。您还可以传递一个数组

[HttpPost]
[Route("/reports/employeereport")]
public void Employee(CustomObject[] pos)
{ 
}
您可以将此方法称为:

$.ajax({
    url: "/reports/employeereport",
    data: JSON.stringify({ pos: objectData }) ,
    dataType: 'json',
    contentType: 'application/json'
    type: 'POST',
});