Я пытаюсь использовать двоичное кодирование сообщений в службе WCF, следуя многочисленным примерам на этом сайте.
На сервере у меня есть привязка, объявленная так:
<customBinding>
<binding name="binaryHttpBinding">
<binaryMessageEncoding maxReadPoolSize="4096000" maxSessionSize="4096000" maxWritePoolSize="4096000">
<readerQuotas maxDepth="32" maxStringContentLength="4096000"
maxArrayLength="4096000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<httpTransport maxBufferPoolSize="4096000" maxBufferSize="4096000" maxReceivedMessageSize="4096000"/>
</binding>
</customBinding>
Служба настроена на ее использование (я думаю):
<service behaviorConfiguration="MyService.ServiceBehavior" name="MyService.ContentUploadService">
<endpoint
address=""
binding="customBinding"
bindingConfiguration="binaryHttpBinding"
contract="MyService.IContentUpload"
name="MyService.ContentUploadService" />
Клиент имеетте же объявления:
<customBinding>
<binding name="binaryHttpBinding">
<binaryMessageEncoding maxReadPoolSize="4096000" maxSessionSize="4096000" maxWritePoolSize="4096000">
<readerQuotas maxDepth="32" maxStringContentLength="4096000"
maxArrayLength="4096000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<httpTransport maxBufferPoolSize="4096000" maxBufferSize="4096000" maxReceivedMessageSize="4096000"/>
</binding>
</customBinding>
И:
<endpoint
address="http://foo.com/ContentUploadService.svc"
binding="customBinding"
bindingConfiguration="binaryHttpBinding"
contract="MyService.IContentUpload"
name="MyService.ContentUploadService"/>
Клиент, кажется, работает, но сервер выдает исключение, которое указывает, что привязка не установлена:
Приложение типа контента / soap + msbin1 было отправлено службе, ожидающей text / xml;кодировка = UTF-8.Привязки клиента и службы могут не совпадать.
Непосредственно перед этой ошибкой в файле журнала возникает эта ошибка, возникающая при попытке открыть хост службы, что должно быть причиной.
Контекст оценки конфигурации не найден.
Ни одна из поисковых ссылок, которые я пробовал для этого сообщения, не была полезной.Итак, какую основную часть я пропускаю?