我在使用命名管道绑定
的WCF传输文件大小的东西时遇到问题<netNamedPipeBinding>
<binding name="largeMessage"
maxBufferPoolSize="524288000"
maxReceivedMessageSize="655360000"
maxBufferSize="655360000" >
<readerQuotas maxStringContentLength="655360000"
maxArrayLength="2000001"
maxBytesPerRead="2000001"
maxNameTableCharCount="2000001" />
</binding>
</netNamedPipeBinding>
这是服务定义
<service name="BusinessService.TaskService"
behaviorConfiguration="BusinessService.TaskServiceBehavior">
<endpoint
address=""
behaviorConfiguration="customEndPointBehavior"
binding="netNamedPipeBinding"
bindingConfiguration="largeMessage"
contract="BusinessServiceContracts.Services.ITaskService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</service>
可以看出,我已经为我能找到的所有配额设置了相当大的值,但仍然,我得到了“已超过传入消息的最大消息大小配额(65536)要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性。“WCF跟踪文件中的错误。
我想到了下一步的想法,所以有其他人遇到过相同或类似的问题吗?
答案 0 :(得分:1)
客户端配置(或多或少)相同,但是糟糕的事情是行不通的。 但是,在我使用WCF配置编辑器打开服务器.config后,没有做任何更改并保存,它神奇地开始工作,所以我的猜测是我在文件中有某种标签混淆。
很抱歉打扰你。
答案 1 :(得分:0)
您可能有两个配置文件:一个来自服务实现,另一个来自客户端应用程序;你能发布两种配置吗?
此外,请阅读这篇文章:Making Sense of Transport Quotas
答案 2 :(得分:0)
好的,您已经使用<services>
节点发布了服务器端配置 - 看起来不错。 客户端配置怎么样?你也必须在<client>
节点中有一些东西 - 它是否也引用了相同的绑定配置?
马克