Невозможно переопределить конфигурацию WCF по умолчанию - PullRequest
1 голос
/ 12 ноября 2010

Я работаю с существующим Сервисом и не могу понять, почему он не использует пользовательскую конфигурацию.

Мой класс обслуживания выглядит следующим образом:

[ServiceBehavior(Name = "MagicService",Namespace = Namespaces.NS_Magic_ADMIN_SERVICE, ConfigurationName = "MagicServiceConfiguration")]
public class MagicService : IMagicService

Конфигурация службы:

  <service name="MagicServiceConfiguration" behaviorConfiguration="MagicServiceBehavior">
    <endpoint address="" 
        name="httpAdminServiceSEP" 
        binding="basicHttpBinding" 
        bindingName="basicMemberBinding" 
        bindingNamespace="http://magic-service.me.com/admin/2010/04/" 
        contract="Me.Manager.Magic.Contracts.Behavior.IMagicService">
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
  </service>

Привязка:

  <basicHttpBinding>
    <binding name="basicMemberBinding"

           receiveTimeout="00:10:00"
           sendTimeout="00:10:00"
           openTimeout="00:10:00"
           closeTimeout="00:10:00"
           maxReceivedMessageSize="2147483647"
           maxBufferSize="2147483647"
           maxBufferPoolSize="2147483647">
    </binding>
  </basicHttpBinding>

Я продолжаю получать хорошиеold: "Произошла ошибка при десериализации объекта типа System.String. Максимальная квота длины содержимого строки (8192) была превышена при чтении данных XML. Эту квоту можно увеличить, изменив свойство MaxStringContentLength объекта XmlDictionaryReaderQuotas, используемого при созданиичитатель XML. Строка 81, позиция 80 "

Каждый раз, когда я добавляю сервисную ссылку, она автоматически добавляет, использует длины по умолчанию 8196.

Если я удалю конфигурацию службы, ничего не изменится.По-прежнему выбрасывает исключение длины.

1 Ответ

1 голос
/ 12 ноября 2010

Вам нужно сослаться на настройки привязки, используя атрибут bindingConfiguration= на <endpoint>, а не bindingName=:

<service name="MagicServiceConfiguration" behaviorConfiguration="MagicServiceBehavior">
  <endpoint 
    name="httpAdminServiceSEP" 
    address="" 
    binding="basicHttpBinding" 
    bindingConfiguration="basicMemberBinding"  *** here use bindingConfiguration!! 
    bindingNamespace="http://magic-service.me.com/admin/2010/04/" 
    contract="Me.Manager.Magic.Contracts.Behavior.IMagicService">
  </endpoint>
  <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...