我正在使用Web API进行概念验证以提供报告结果。唯一的问题是这些报告的性质涉及一长串输入参数。例如,一个报告请求有关员工的信息并接受电子邮件作为标识符。如果某人有来自Excel的2,000名员工的列表,则这可能成为一个巨大的输入参数。
理想情况下,我想让用户只需将列表粘贴到文本框中,单击按钮,然后让我的代码解析列表并一次性生成结果。我可以重组事物,而是强迫用户发布他们的输入列表(将parms保存到数据库表),然后运行报告。
有没有办法处理这个问题,或者我是否应该重新考虑在这个问题中使用Web API调用"一气呵成#34;方式?
答案 0 :(得分:0)
查询字符串的最大大小为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',
});