问题标签 [maxreceivedmessagesize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
25256 浏览

wcf - WCF MaxReceivedMessageSize 错误

调用 wcf 服务 (wshttpbinding) 时出现以下错误。我已经将 MaxReceivedMessageSize 设置为最大值(2147483647)。谁能告诉我怎么了?

我正在使用“security mode="Message"”,有问题吗?

错误: 已超出传入邮件 (65536) 的最大邮件大小配额。要增加配额,请在适当的绑定元素上使用 MaxReceivedMessageSize 属性

配置:(客户)

服务器配置:

0 投票
3 回答
93522 浏览

wcf - 传入消息的最大消息大小配额 (65536) ....要增加配额,请使用 MaxReceivedMessageSize 属性

我遇到了这个我正在尝试处理的疯狂问题。我知道当我们获取大量数据时,我们必须增加客户端 .config 文件的配额,但是如果我的客户端正在向 WCF 服务器发送大量数据,我该怎么办?

当我发送小型输入参数时,它工作正常。不幸的是,当输入变大时,它就会崩溃。

调试器说:

错误请求,400;

在跟踪文件上是:

已超出传入邮件 (65536) 的最大邮件大小配额。要增加配额,请在适当的绑定元素上使用 MaxReceivedMessageSize 属性。

有没有办法增加服务器端传入数据的配额?如果是这样,如何?

这是我的示例配置相关部分:

这是我的客户端代码(我动态创建它):

0 投票
2 回答
9169 浏览

wcf - 如何覆盖 WebServiceHostFactory MaxReceivedMessageSize?

那里有很多类似的问题,但我已经尝试了每个解决方案,但无济于事。

我们有一个使用 WebServiceHostFactory 初始化的 Web 服务,但如果向它抛出超过 64k 的数据,我们会收到“400 Bad Request”。通常,这可以通过提高 MaxReceivedMessageSize、MaxBufferSize 和 MaxBufferPoolSize 来解决。问题是使用 WebServiceHostFactory,Web.Config 被完全忽略。我在 ServiceModel 部分所做的任何更改都没有反映在服务中。

完全放弃 WebServiceHostFactory 并从头开始设置 web.config 会很好,但是没有它我们的服务将无法运行。其中一种方法具有流参数以及其他一些字符串参数。没有工厂,我们得到

因此,删除工厂不是一种选择。我无法确切知道工厂正在做什么来修复这个错误,但我花了 4 天的时间来解决这个问题,却一无所获。

我还尝试过以编程方式覆盖 MaxReceivedMessageSize,并附有一些我在该地方发现的示例:

第一个不起作用,因为工厂创建了一个不能转换为 WebHttpBinding 的 CustomBinding。第二个不起作用,因为绑定元素似乎是只读的 - 无论我将元素设置为什么,都没有任何变化,我通过在“更改”它们后读回值来验证这一点。第三次是最后一次尝试在其中添加一个新的绑定元素,但当然这也失败了。

现在我们完全不知所措。我们怎样才能让这个东西运行呢?你以为会这么简单!

多谢你们

网络配置

编辑,使用迄今为止不成功的建议修复:

0 投票
2 回答
6648 浏览

c# - RESTful 服务中 webHttpBinding 的绑定和配置?

我是 WCF 的新手,我正试图了解服务所采用的迷宫般的配置。我有一个休息服务可以返回一个表的导出,它比默认值大 maxReceivedMessageSize。所以我一直在尝试使用此服务/端点的配置,但我无处可去。下面如果我正在研究的要点,我错过了什么?我只是将 List 作为 JSON 或 XML 返回,并且我需要能够返回超过默认阈值。

更新 1 我已经删除了所有这些配置,并尝试使用现有的 webHttpEndpoint 部分进行更简单的操作:

结果相同。 HTTP/1.1 502 Connection reset by peer

0 投票
3 回答
8225 浏览

wcf - WCF 可能超出了我的响应大小

好的,所以我终于让我的 WCF 服务运行良好。我花了一些时间,但我已经解决了几乎所有的问题。我现在唯一遇到的问题就是这个。

我的一个数据请求相当大,它包含大约 37k 的集合。我得到的错误如下。

最初,您可能会认为这是一个序列化问题,或者我需要更改绑定的容量。

这是我在客户端上的绑定。

我已更改绑定信息以允许更大的容量;但是,这并不能解决我的问题。我开始考虑更改 maxReceiveMessageSize 容量的唯一原因是,如果我将结果限制为 1000 个集合,我就没有问题。当涉及到大型通信时,除了绑定之外,我还需要担心其他配置吗?

谢谢!

编辑 1

此外,我已将绑定中每个超时值的超时更改为 00:10:00,但这似乎没有什么不同。服务器的响应时间少于 5 秒。

编辑 2

服务配置。

编辑 3

请理解,我没有包含有关该服务模型的任何敏感信息,因此它们已被替换为 MyCustom***。再次,请仔细阅读问题我正在通过其他端点成功地使用此服务来回传输数据,没有问题。另外,就像我上面所说的,如果我将结果限制为 1000,我可以通过该端点传输数据。

编辑 4

好的,让我更清楚。客户端应用程序正在获取正确的绑定。我知道的原因是,当我的应用程序在集合中返回大约 4500 个结果的结果集时,给了我以下异常。

所以我将 MaxReceiveMessageSize 增加到可能的最高值,2147483647。根据这篇文章。在我这样做之后,我可以安全地返回我的结果集。现在这是踢球者,我得到了 5000 个结果,我在这个问题的顶部得到了我的初始异常。

很明显,应用程序正在选择正确的绑定配置,否则它不会响应我在 MaxReceiveMessageSize 中的更改。所以在这一点上,真正的问题是为什么它会因为如此小的变化而失败。

0 投票
1 回答
667 浏览

json - WCF oData 通过 Web 服务插入

我正在尝试为我的 wcf odata 服务增加 maxReceivedMessageSize。我有另一个 Web 服务将值发布到我的 wcf 服务以将值插入 sql。我在发帖

这引发了一个错误。远程服务器返回错误:(400) 错误请求。如果我发布下面的值,它插入成功。

那么有人可以帮我解决这个错误吗?网上有一些例子试图修改下面的网络配置,但它们不适合我,因为我没有服务合同。

我的 WCF 使用 ADO.net 实体模型

0 投票
1 回答
150 浏览

c# - 当maxreceivedmessagesize错误时WCF获取数据

我的应用程序中有一个 maxreceivedmessagesize 错误。

发生此错误时,我会向用户显示一条消息,并且我想显示在超过最大大小之前已加载的数据。

我怎样才能做到这一点 ?

0 投票
1 回答
2016 浏览

wcf - WCF 流和 maxReceivedMessageSize

为什么在实现 WCF 流时 maxReceivedMessageSize 属性是相关的?既然缓冲和持久性是由流的消费者处理的,为什么 WCF 会关心单个服务操作可能需要多长时间或多长时间?

我正在开发一个可以处理从服务器到客户端并返回的大文件的项目。我认为 WCF 流是一个很好的选择,因为它应该允许处理理论上无限的文件大小。我的客户端和服务器都将 transportMode(在绑定上)设置为“Streamed”,并且消息设计为包含 Streams。然而,这还不够,因为我得到一个 CommunicationException 指示我需要增加 maxReceivedMessageSize 属性。按照异常的建议,神奇地增加属性可以让一切正常工作。

我担心 WCF 迫使我“限制”我的服务/客户端可以处理多少,即使流应该是“无限的”。如果出现的文件恰好比我的绑定配置大,则会发生相同的 CommunicationException。我不明白为什么 WCF 会任意限制我处理大文件的能力,我发送和存储这些文件的“时间”和“方式”现在是“我的”业务,因为我有一个可以随意使用的流。

我错过了什么吗?

0 投票
2 回答
1557 浏览

wcf - 如何在没有托管在 IIS 中的配置文件的 wcf 服务的代码中设置 maxreceivedmessagesize wcf 设置

我继承了一个项目,该项目包含一组托管在 iis 中的 wcf 服务,没有配置文件条目。我需要增加 maxreceivedmessagesize wcf 设置。我将如何在代码中执行此操作?

0 投票
1 回答
1921 浏览

wcf - Sharepoint 自定义 WCF Rest 服务不使用 maxReceivedMessageSize

我正在为 Sharepoint 2010 构建自定义 WCF Rest 服务。服务的主要任务是从 Sharepoint 下载和上传一些文件。下载按预期工作,但上传大于 64Kb 的文件时出现以下错误:

堆栈跟踪 :

所以我的第一个猜测是通过自定义配置来增加最大消息大小,如下所示:

应用此之后,部署我的 WSP 并执行 IIS 重置错误仍然存​​在。与来自 WCF 跟踪的上述信息相同的 HTTP 400。所以不知何故我的 web.config 配置不好,因为 WCF 服务没有使用它?

上传小于 64KB 的文件按预期工作。

这也是我的 IStorageService.cs 定义:

还有我的 web.config 所在的 ISAPI 文件夹中的 StorageService.svc:

我尝试了所有其他我在谷歌上搜索但没有运气的 web.config 变体。这可能是什么原因?任何帮助都非常受欢迎。

此外,如果您需要源代码的任何其他部分,请告诉我。我会更新我的问题。

先感谢您!