【问题标题】:What is the maximum number of parameters for a method (WebApi ? )方法的最大参数数是多少(WebApi?)
【发布时间】:2014-11-19 07:18:02
【问题描述】:

我在WebApi中有这个方法

[IHttpActionResult]
[Get]
public void GetSome(P1, P2 ....... Pn)
{
   ...///
}

只是好奇:

任何想法,WebApi 允许此方法的最大参数数量是多少?

【问题讨论】:

  • 这会引起规格搜索还是在现实世界中使用?
  • @AndreasNiedermair:只是好奇:)没有影响

标签: c# .net asp.net-web-api asp.net-web-api2


【解决方案1】:

你的意思是技术上还是实践上? :p

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

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

您正在创建一个 API,易于理解的简单方法应该是您的主要目标。我不确定具有 65000 个参数的方法会不会很简单。

对我来说,这听起来像是“OMG 杀死此代码”车道的第 1 步 :)

【讨论】:

  • 只是好奇 :) 我的项目最多涉及 4-5 个参数 :)
【解决方案2】:

InternetStack overflow 周围很少有类似的Q & A。要求知道C# Method maximum number of parameters。这同样适用于您的情况。

案例:

  • 包含带有16383 参数的方法的.net 应用程序可以是 编译、运行和调用 (!)
  • 可以包含16384 或更多参数的.net 应用程序 已编译,但运行此类程序会引发未说明的异常。
  • 还可以编译包含 50000 个参数的 .net 应用程序, 但尝试运行这样的应用程序会导致 StackOverflowException 被抛出。
  • 尝试编译包含 100000 个参数的 .net 应用程序 或更多结果导致csc.exe 给出编译时错误stating that the resulting expression is too long or complex to handle

注意:

  • 这些数字取决于operating system 的体系结构 以及computer的记忆。

  • 从浏览器端看,它可能会有所不同。它可能允许少于或多于这个 数。

类似问答

C# Method Maximum Number of Parameters

Acceptable Parameters Count for a C# Method

向方法传递所需且数量较少的参数将是最好的编码 练习。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-17
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    相关资源
    最近更新 更多