net :: ERR_CONNECTION_RESET / net :: ERR_SPDY_PROTOCOL_ERROR在大型Json对象上

时间:2018-12-12 11:29:18

标签: polymer-1.0 iron-ajax

我正在尝试允许用户编辑和保存用户角色。在这些角色中,允许对它们具有CRUD权限的对象有不同类型。 当我通过iron-ajax将数据从聚合物传递到控制器时,它会正确传递,除非其中有许多设置了CRUD权限的对象。这些对象及其CRUD权限将作为JSON字符串发送到controller方法中。

少量(例如30个具有CRUD和2个其他权限的项目)可以成功运行。控制器正确接收到请求,并且角色已保存。

但是,一旦我尝试大量通过(例如100个具有CRUD和2个其他权限的项目),就会发生以下错误:

net::ERR_CONNECTION_RESET Error enter image description here

我尝试过以下组合:在handle-as定义中设置content-typeiron-ajax,在ajax调用中使用params vs body,并具有具有和不具有[HttpPost]属性的控制器方法。

Iron-Ajax代码:

<iron-ajax id="saveRole"
           url="[[_getUrl('Roles/SaveRole')]]"
           method="POST"
           handle-as="json"
           on-response="_handleSavedRole"
           on-error="_handleSavedRoleError">
</iron-ajax>

调用函数:

this.$.saveRole.params = { id: this.data.Id, name: this.data.Name, unitPermissions: JSON.stringify(this.data.UnitPermissions), projectPermissions: JSON.stringify(this.data.ProjectPermissions) };
this.$.saveRole.generateRequest();

控制器方法签名:

[HttpPost]
public ActionResult SaveRole(String id, String name, String unitPermissions, String projectPermissions)

编辑:

使用How to configure the web.config to allow requests of any length上可接受的答案,正在抛出的错误已更改为以下内容:

enter image description here enter image description here

编辑:

在另一台计算机上,对于某些中等大小的请求(75到100之间),我得到了不同的错误:

enter image description here

我尝试在我的web.config文件中使用以下内容修复它,但是它不起作用。

<requestLimits maxAllowedContentLength="1073741824" maxQueryString="2097151"/>

0 个答案:

没有答案