2014-11-14 1 views
2

У меня была недавняя смена моего файла web.config службы REST wcf, я просто добавил к ней свойство maxBufferSize="10485760". Пожалуйста, найдите сегмент кода ниже ...Ошибка конфигурации: непризнанный атрибут 'maxBufferSize'

<wsHttpBinding> 
    <binding name="WSHttpBinding_IService" closeTimeout="00:04:00" 
       openTimeout="00:04:00" receiveTimeout="00:04:00" sendTimeout="00:04:00" 
       bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode= 
       "StrongWildcard" maxBufferSize="10485760" maxBufferPoolSize="2147483647" 
       maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" 
       useDefaultWebProxy="true" allowCookies="false"> 
    <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
       maxArrayLength="2147483647" maxBytesPerRead="2147483647" 
       maxNameTableCharCount="2147483647" /> 
    <reliableSession ordered="true" inactivityTimeout="00:04:00" enabled="false" /> 
</binding> 
</wsHttpBinding> 

После внесения этого изменения приложение не работает, оно бросает следующее исключение.

Ошибка конфигурации Описание: При обработке конфигурационного файла, необходимого для обслуживания этого запроса, произошла ошибка. Ознакомьтесь с конкретными сведениями об ошибке ниже и соответствующим образом измените конфигурационный файл . Сообщение об ошибке Parser: непризнанный атрибут 'maxBufferSize'. Обратите внимание, что имена атрибутов: с учетом регистра.

Если бы кто-нибудь мог помочь в этом, это было бы здорово.

ответ

6

Вся ваша проблема в том, что привязка wsHttpBinding не имеет никакого свойства maxBufferSize. Это свойство доступно, например, в basicHttpBinding. Я рекомендую использовать Visual Studio для изменения привязок в файле web.config, а не для его изменения. Кроме того, вы можете увидеть доступные свойства в следующий раз. ScreenShot

WsHttpBinding имеет свойство MaxBufferPoolSize, что немного отличается от MaxBufferSize. Пожалуйста, look at this post, чтобы понять разницу