【问题标题】:Posting a large string to an mvc4 controller within azure failing在 azure 中将大字符串发布到 mvc4 控制器失败
【发布时间】:2013-10-25 17:19:00
【问题描述】:

我有一个 mvc4 控制器的问题(仅在生产 azure web 角色上)

我有一个大约 7mb 的大型 svg 图像,我正试图将其发送回服务器。我已经尝试了 2 种方法,但都没有成功地使用 svg 文件的值和 ajax 帖子进行完整形式的帖子。两次控制器参数始终为空。

我认为它是因为我尝试发送的字符串的大小很大。我使用 ajax 方法的代码示例。

        $(".export").on("click", function () {
        var chart = $("#barchart").data("kendoChart");
        var svgString = chart.svg();
        var exportFormat = $(this).data("format");
        if(svgString!=""&&exportFormat!=""){
            $.ajax({
                type: "POST",
                url: "../SendMyFile",
                data: JSON.stringify(escape(svgString) + "&" + exportFormat),
                contentType: 'application/json',
                dataType: 'json',

我是否需要进行配置设置,或者是否需要更改我的代码? 我还对web.config进行了修改

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

任何帮助都会很棒!

【问题讨论】:

  • 要发回的数据太多了。您可能需要在 IIS 元数据库中增加 MaxEntityRequest,但这是最后的手段。没有其他方法可以用来做您需要的事情吗?
  • 是的,理想情况下我想在服务器上执行此操作,但我没有这种能力。

标签: jquery asp.net-mvc asp.net-mvc-4 azure azure-web-roles


【解决方案1】:

除了更改jsonSerialization 元素之外,您还必须调整httpRuntime,更准确地说是maxRequestLength 属性。默认值为 4MB。虽然您可能已经为本地 IIS 更改了此设置,但在 Azure 中,除非在 web.config 中明确覆盖,否则您有默认设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 2013-07-03
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多