从VB6调用WCF时,如何增加maxReceivedMessageSize?

从VB6调用WCF时,如何增加maxReceivedMessageSize?,wcf,vb6,moniker,Wcf,Vb6,Moniker,目前我有: 1)用于返回xml块的WCF设置(特别是来自Exchange 2003的日历内容)。 2)一个vb6表单,其上有一个命令,通过构建在服务名字对象上的对象(包括WSDL合同文件的内容)访问WCF 只有当传递的字符串具有可接受的大小时,这才可以正常工作。当我试图返回在WCF端生成的整个xml时,我遇到以下错误: 已超过传入邮件(65536)的最大邮件大小配额。若要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性 当我在WCF应用程序配置中添加绑定配置以增

目前我有: 1)用于返回xml块的WCF设置(特别是来自Exchange 2003的日历内容)。 2)一个vb6表单,其上有一个命令,通过构建在服务名字对象上的对象(包括WSDL合同文件的内容)访问WCF

只有当传递的字符串具有可接受的大小时,这才可以正常工作。当我试图返回在WCF端生成的整个xml时,我遇到以下错误: 已超过传入邮件(65536)的最大邮件大小配额。若要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性

当我在WCF应用程序配置中添加绑定配置以增加maxReceivedMessageSize时,这没有任何效果——可能是因为VB6客户端对此一无所知。(生成的WSDL契约甚至不在其xml中包含该值)

通过阅读*,有人建议我需要在客户端进行类似的配置更改。因此,我创建了一个VB6.EXE.CONFIG文件,并将绑定配置详细信息复制到此文件。然后,我扩展了名字对象以包括以下内容: binding=WSHttpBinding\u IEExchange,bindingNamespace='Exchange',bindingConfiguration='ExchangeBinding'

但是,我仍然收到关于大小配额的相同错误消息

当拼写错误上面名字对象的binding或bindingNamespace元素时,我会得到一个预期的错误,但是当拼写错误bindingConfiguration元素时,我不会得到任何错误,就好像这个元素无论如何都是无关的

目前,我似乎掌握了一些细节,但没有有效的解决方案。有什么想法吗

  • obj对象被声明为接口代理类型。然后将名字对象设置为仅包括地址和绑定类型。由于您只使用wsHttpBinding的默认设置,因此不需要提供bindingConfiguration值。如果需要覆盖绑定的任何默认设置,可以提供名为file.exe.config的应用程序配置文件,并将其放置在客户端的程序目录中

我个人会创建一个.NET COM公开库,您可以从VB6调用它。NET库可以控制所有客户端绑定,VB6只需与DLL对话并传递字符串即可。

您的配置文件是否按字面意思为“VB6.exe.config”?如果您的应用程序名为MyApp.exe,是否尝试了“MyApp.exe.config”?是否可以共享一些链接或引用以使用此方法开始?Web搜索此:“如何创建.net COM公开DLL”