我在Web Api中有这个方法
[IHttpActionResult]
[Get]
public void GetSome(P1, P2 ....... Pn)
{
...///
}
好奇:
任何想法,Web Api为此方法允许的最大参数数量是多少?
答案 0 :(得分:9)
你的意思是技术上还是实际上? :P
C#方法参数限制为65,535。大多数浏览器仅支持2000到4000个字符的URL。根据API的使用者,也可能存在一些限制。
但最重要的是:你想做什么?严重?
您正在创建API,易于理解的简单方法应该是您的主要目标。我不确定65000参数的方法是否接近简单。
对我而言,这听起来像是走下去的第1步" OMG杀了这个代码" lane:)
答案 1 :(得分:2)
Q & A
和Internet
周围的Stack overflow
类似。要求了解C# Method maximum number of parameters
。同样适用于您的情况。
<强>例:强>
16383
参数的方法的.net应用程序可以
编译,运行和调用(!)16384
个或更多参数的.net应用程序可以
编译,但运行这样的程序会抛出一个未说明的异常。StackOverflowException
被抛出。csc.exe
出现编译时错误stating
that the resulting expression is too long or complex to handle
。注意:
这些数字取决于operating system
的架构
以及computer
。
从浏览器方面看,它可能会有所不同。它可能比这更少或更多 计数。
类似的Q&amp; A 强>:
C# Method Maximum Number of Parameters
Acceptable Parameters Count for a C# Method
将所需的参数和较少数量的参数传递给Method将是最佳编码 实践。