【问题标题】:specifying MaxHttpCollectionKeys for a specific page?为特定页面指定 MaxHttpCollectionKeys?
【发布时间】:2012-05-06 17:19:14
【问题描述】:

我想知道是否有办法为特定页面更改此值,而不是为整个项目设置它。我们遇到了限制,但只有几页。我们的项目使用的是 .NET 3.5。

对于那些不知道这个变量的用途的人,它是为了解决这个问题: http://support.microsoft.com/kb/2661403

基本上,如果您有很多表单键(超过 1000 个),则在回发到页面时会出现异常。您可以通过在 web.config 中指定来解决此问题:

关于这个限制有几个问题,比如这个: 'Operation is not valid due to the current state of the object' error during postback

但是,我没有看到任何与为特定页面设置此设置相关的内容。

【问题讨论】:

    标签: asp.net exception web-config


    【解决方案1】:

    不,这是不可能的。它总是检查 appSetting aspnet:MaxHttpCollectionKeys,如果缺少它,它将被设置为 1000。您不能覆盖它,因为读取设置和默认值是在内部类中完成的。

    也许更好的方法是构建一个少于 1000 个项目的表单。也许是以巫师的形式。或者可以通过将多个值组合成一个数据结构并在服务器上对其进行反序列化。

    【讨论】:

    • 感谢您的回复。我会接受这个作为答案。当然,理想的情况是减少页面上的控件数量。每当出现这种情况时,我们可能会实现分页,这在 UI 中是有意义的。但是,我希望某种临时解决方案可以在用户报告时应用于单个页面,或者在我们真的不想限制某个页面上的控件数量的情况下。由于 web.config 影响整个项目,我们可能会遗漏其他问题。
    • 我认为这里更大的问题是为什么框架忽略了在位置元素下配置的appsettings
    猜你喜欢
    • 2023-02-09
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    相关资源
    最近更新 更多