【问题标题】:.NET MVC 4 JSON Post/Put char limit in Web.config.NET MVC 4 JSON Post/Put char 限制在 Web.config
【发布时间】:2013-03-25 04:15:52
【问题描述】:

我正在使用 PUT 动词将 JSON 发送到 MVC 控制器。当我达到某个限制时,我会收到 500 错误。如果我缩减我发送的 JSON,那么它就可以发送了...有谁知道 web.config 中的配置允许将大量 JSON 传递给我的应用程序?

【问题讨论】:

  • 您在遇到问题时发布的尺寸是多少?
  • 您有关于您在服务器上遇到的实际错误的任何详细信息吗?服务器日志?
  • 我在服务器日志中看不到任何详细信息...

标签: asp.net asp.net-mvc json asp.net-mvc-3 asp.net-mvc-2


【解决方案1】:

这是答案...我的 JSON 对象非常大,因此 .NET 由于“安全功能”而不允许它通过。默认值为 2000,所以我撞了它,它运行良好。

  <add key="aspnet:MaxJsonDeserializerMembers" value="5000"/>

【讨论】:

    【解决方案2】:

    方法 - 1

    <configuration> 
       <system.web.extensions>
           <scripting>
               <webServices>
                   <jsonSerialization maxJsonLength="50000000"/>
               </webServices>
           </scripting>
       </system.web.extensions>
    </configuration> 
    

    方法 - 2

    <location path="File Path or FileHandler.ashx">
      <system.web>
        <httpRuntime executionTimeout="your value" maxRequestLength="Your value" />
      </system.web>
    </location>
    

    使用这种方法,我们可以为特定页面设置限制,而不是为整个应用程序设置限制。

    方法 - 3

    <httpRuntime targetFramework="Your version" maxRequestLength="Your value" />
    

    使用这种方法,我们可以设置完整应用程序的限制。

    【讨论】:

    • 这不起作用...我将这些设置为最大 int。如果我减少 JSON 大小但增加 JSON 中字段的大小,它会正常运行,但它与 JSON 长度而不是内容本身有关......
    • 在这里为我们工作,只是使用方法 - 1。我们的场景是发送一个 large-for-json (100KB+) json 对象。
    【解决方案3】:

    检查您的 web.config 中的 maxRequestLength。如果数据超过maxRequestLength,则返回500状态。

    <httpRuntime targetFramework="4.5" maxRequestLength="XXX" />
    

    注意:如果未指定 maxRequestLength。默认值为 4MB。

    如果这不起作用,请尝试 IIS 的 Request Limits。但是文档说应该返回 404 状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 2016-09-16
      相关资源
      最近更新 更多