【问题标题】:Set aspnet:MaxHttpCollectionKeys Programmatically以编程方式设置 aspnet:MaxHttpCollectionKeys
【发布时间】:2012-05-24 19:32:43
【问题描述】:

在特定站点的一些管理功能中,我正在做一个特别可怕的帖子,需要发布大量的数据。大量In order to make that happen, I had to add the Web.config appSetting:

<add key="aspnet:MaxHttpCollectionKeys" value="2000" />

但是,我只希望在特定情况下可以发布这篇大型帖子。有没有办法以编程方式设置这个值?

【问题讨论】:

标签: c# asp.net asp.net-mvc asp.net-mvc-3


【解决方案1】:

您可以通过将 appSetting 放在 web.config 中的位置标签下来进行特定于位置的设置。

http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx

【讨论】:

  • 我已经做到了,并验证了配置设置是否会传播到正在运行的代码中(通过检查断点中的配置值),但是我得到了与设置没有相同的模型绑定错误完全没有。是否有可能 MVC 出于某种原因不支持 location 下的此设置?
  • @eouw0o83hf 我在支持的常规 ASP.NET 应用程序中遇到了同样的问题。将它移到&lt;location&gt; 下会导致InvalidOperationException 再次发生。
【解决方案2】:

看起来这是不可能的,根据这个答案:

https://stackoverflow.com/a/10753846/570190

“您不能覆盖它,因为设置和默认值的读取是在内部类中完成的。”

【讨论】:

    【解决方案3】:

    您可以使用自己的 web.config 将表单隔离在虚拟文件夹中的单独网站中。当然,如果您需要共享状态,那么这可能会变得非常复杂(但并非不可能)。因此,也许通过将其视为一个恰好能够处理 2000 个项目的单独“网络服务”可能会解决问题。

    【讨论】:

      猜你喜欢
      • 2021-11-21
      • 2018-11-26
      • 2011-04-18
      • 2012-07-18
      • 2016-02-15
      • 2014-07-26
      • 2011-06-06
      • 2012-02-12
      • 1970-01-01
      相关资源
      最近更新 更多