【发布时间】:2011-12-10 20:01:20
【问题描述】:
目前我有: 1 ) 一个 WCF 设置以返回一个 xml 块(特别是它是来自 Exchange 2003 的日历的内容)。 2 ) 带有命令的 vb6 表单通过构建在服务名字对象上的对象访问 WCF,包括 WSDL 合同文件的内容。
仅当传递的字符串大小可接受时才能正常工作。当我尝试返回在 WCF 端生成的整个 xml 时,我遇到以下错误: “已超出传入消息的最大消息大小配额 (65536)。要增加配额,请在相应的绑定元素上使用 MaxReceivedMessageSize 属性。”
当我在 WCF 应用程序配置中添加绑定配置以增加 maxReceivedMessageSize 时,这没有任何效果 - 大概是因为 VB6 客户端对此视而不见。 (生成的 WSDL 合约甚至不包括其 xml 中的值)
四处阅读*,有人建议我需要在客户端进行类似的配置更改。所以我创建了一个 VB6.EXE.CONFIG 文件并将绑定配置详细信息复制到此文件。然后我扩展了这个绰号以包括这个: binding=WSHttpBinding_IExchange, bindingNamespace='Exchange', bindingConfiguration='ExchangeBinding'
但是,我仍然收到关于大小配额的相同错误消息。
当上面的名字对象的 binding 或 bindingNamespace 元素拼写错误时,我得到一个预期的错误,但是当 bindingConfiguration 元素拼写错误时,我没有得到任何错误,好像这个元素无论如何都无关紧要。
我现在似乎有部分,但没有有效的解决方案。有什么想法吗?
- obj 对象被声明为接口代理类型。然后将名字对象设置为仅包括地址和绑定类型。由于您只使用 wsHttpBinding 的默认设置,因此您不需要提供 bindingConfiguration 值。如果您需要覆盖绑定的任何默认设置,您可以提供一个名为 file.exe.config 的应用程序配置文件并将其放在客户端的程序目录中
【问题讨论】:
-
您的配置文件字面意思是“vb6.exe.config”吗?如果您的应用程序名称是 MyApp.exe,您是否尝试过“MyApp.exe.config”?