У меня странная проблема.Я переключаюсь с HttpBasicEncoding на двоичное кодирование.Когда я переключаюсь на использование двоичного кодирования сообщений, я заметил в Fiddler, что мое тело ответа в 20 раз БОЛЬШЕ, чем эквивалент HttpBasicEncoding.Вот мои настройки на сервере:
При использовании базовой кодировки
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="MyBinding"
contract="MyProduct.MyService" />
...
<basicHttpBinding>
<binding name="MyBinding">
<security mode="TransportCredentialOnly" />
</binding>
</basicHttpBinding>
При использовании двоичной кодировки
<customBinding>
<binding name="MyBinaryBinding">
<binaryMessageEncoding />
<httpTransport />
</binding>
</customBinding>
<endpoint address="" binding="customBinding" bindingConfiguration="MyBinaryBinding"
contract="MyProduct.MyService" />
В приложении Silverlight мне нужно программно собратьобязательныйВот как я строю эти привязки:
При использовании базовой кодировки
BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.None;
// Wireup request
При использовании двоичной кодировки
HttpTransportBindingElement transportElement = new HttpTransportBindingElement();
transportElement.MaxReceivedMessageSize = int.MaxValue;
transportElement.MaxBufferSize = int.MaxValue;
CustomBinding binding = new CustomBinding();
binding.Elements.Add(new BinaryMessageEncodingBindingElement());
binding.Elements.Add(transportElement);
// Wireup request
Что я делаю неправильно?Почему ответ двоичного кодирования намного больше по размеру, чем ответ HTTP?
Спасибо!