Стоит задача отправить сервису довольно солидный кусок текста, который с настройками по умолчанию однозначно вызовет исключение на тему слишком большого размера (QuotaExceededException или как там его...). Хочу перед отправкой узнать, какого размера сообщение сервис в принципе готов принять, дабы выдать пользователю предупреждение, ежели чего. Отсюда вопрос: а как правильно этот размер узнать?
Пробовал нечто вроде такого:
int maxStringLength = 0;
...
XmlDictionaryReaderQuotas quotas = serviceClient.Endpoint.Binding.GetProperty<XmlDictionaryReaderQuotas>(
new System.ServiceModel.Channels.BindingParameterCollection();
if (quotas != null)
{
maxStringLength = quotas.MaxStringContentLength;
}
Проблема в том, что мне все время возвращается дефолтное значение 8192 вместо того, которое я указал в конфиге сервиса. Кстати, биндинг для сервиса выглядит вот так:
код
<bindings>
<wsHttpBinding>
<binding name="HttpBinding" messageEncoding="Mtom">
<readerQuotas maxStringContentLength="32768"/>
<reliableSession enabled="true" />
<security mode="None" />
</binding>
</wsHttpBinding>
</bindings>
В общем, уперся, нуждаюсь в помощи