Как я могу увеличить maxReceivedMessageSize при вызове WCF из VB6? - PullRequest
1 голос
/ 19 октября 2011

На данный момент у меня есть: 1) Настройка WCF для возврата блока xml (в частности, это содержимое календаря из Exchange 2003).2) форма vb6 с командой для доступа к WCF через объект, созданный на моникере службы, включая содержимое файла контракта WSDL.

Это работает нормально только тогда, когда передаваемая строка имеетприемлемый размер.Когда я пытаюсь вернуть весь XML, сгенерированный на стороне WCF, я сталкиваюсь со следующей ошибкой: «Превышена квота максимального размера сообщения для входящих сообщений (65536). Чтобы увеличить квоту, используйте свойство MaxReceivedMessageSize в соответствующем элементе привязки.. "

Когда я добавляю конфигурацию привязки в конфигурацию приложения WCF, чтобы увеличить maxReceivedMessageSize, это не имеет никакого эффекта - предположительно, поскольку клиент VB6 не замечает этого.(сгенерированный контракт WSDL даже не включает значение в его xml)

Чтение вокруг *, есть предложение, что мне нужно внести аналогичные изменения в конфигурацию на стороне клиента.Поэтому я создал файл VB6.EXE.CONFIG и скопировал в него подробности конфигурации привязки.Затем я расширил этот псевдоним, добавив в него следующее:* при неправильном написании элементов binding или bindingNamespace вышеприведенного имени я получаю ожидаемую ошибку, но при неправильном написании элемента bindingConfiguration я не получаю ошибки, как будто этот элемент все равно не имеет значения.

Мне кажется,есть кусочки, но не рабочий раствор на данный момент.Любые идеи кто-нибудь?

  • Объект obj объявлен типа прокси интерфейса.Затем этот моникер включает в себя только адрес и тип привязки.Поскольку вы используете только настройки по умолчанию для wsHttpBinding, вам не нужно указывать значение bindingConfiguration.Если вам требуется переопределить любой из параметров по умолчанию для привязки, вы можете предоставить файл конфигурации приложения с именем file.exe.config и поместить его в программный каталог клиента

1 Ответ

0 голосов
/ 25 октября 2011

Лично я бы создал библиотеку .NET COM, которую вы вызываете из VB6.Библиотека .NET может контролировать все привязки клиента, а VB6 будет просто общаться с DLL и передавать строки.

...