1

目前我有: 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 的应用程序配置文件并将其放在客户端的程序目录中
4

1 回答 1

0

就个人而言,我会创建一个您从 VB6 调用的 .NET COM 公开库。.NET 库可以控制所有客户端绑定,而 VB6 将简单地与 DLL 对话并传递字符串。

于 2011-10-25T17:17:42.343 回答