C# 一个方法(WebApi)的最大参数数是多少

C# 一个方法(WebApi)的最大参数数是多少,c#,.net,asp.net-web-api,asp.net-web-api2,C#,.net,Asp.net Web Api,Asp.net Web Api2,我在WebApi中有这个方法 [IHttpActionResult] [Get] public void GetSome(P1, P2 ....... Pn) { .../// } 只是好奇: 有什么想法吗,WebApi允许此方法使用的最大参数数是多少?您是指技术上还是实际上p C#方法参数限制为65535。大多数浏览器只支持2000到4000个字符的URL。根据API的使用者,可能也有一些限制 但最重要的是:你想做什么?真的吗 您正在创建一个API,简单易懂的方法应该是您的主要目标。我

我在WebApi中有这个方法

[IHttpActionResult]
[Get]
public void GetSome(P1, P2 ....... Pn)
{
   ...///
}
只是好奇:


有什么想法吗,WebApi允许此方法使用的最大参数数是多少?

您是指技术上还是实际上p

C#方法参数限制为65535。大多数浏览器只支持2000到4000个字符的URL。根据API的使用者,可能也有一些限制

但最重要的是:你想做什么?真的吗

您正在创建一个API,简单易懂的方法应该是您的主要目标。我不确定一个有65000个参数的方法是否简单


对我来说,这听起来像是“OMG kill this code”里的第一步:)

Internet
Stack overflow
周围几乎没有类似的
Q&a
。它被要求知道
C#方法的最大参数数
。这同样适用于您的情况

案例:

  • 包含带有
    16383
    参数的方法的.net应用程序可以 编译、运行和调用(!)
  • 可以使用包含
    16384
    或更多参数的.net应用程序 已编译,但运行这样的程序会引发未声明的异常
  • 还可以编译包含50000个参数的.net应用程序, 但尝试运行这样的应用程序会导致 正在抛出堆栈溢出异常
  • 正在尝试编译包含100000个参数的.net应用程序 一个或多个结果导致
    csc.exe
    给出编译时错误,
    声明
    结果表达式太长或太复杂,无法处理
注意:

  • 这些数字取决于
    操作系统的体系结构
    以及
    计算机的内存

  • 从浏览器的角度来看,它可能会有所不同。它可能允许小于或大于此值 伯爵

类似问答

将所需参数和较少参数传递给该方法将是最佳编码 练习


这将得到一个规格搜索,或者这是一个真实的世界使用?@Andreasniedermir:只是好奇:)没有影响只是好奇:)我的项目涉及atmost 4-5参数:)