configuração de ligação do @WCF se aplica apenas como padrão, mas como nomeada, ela falha

Temos um problema interessante com o modo de ligação e transferência de fluxo WCF que não podemos resolver:

Temos um ponto de extremidade WCF configurado para o modo de transferência de streaming. O terminal recebe uma mensagem muito maior que o tamanho padrão (~ 65 KB). Portanto, especificamos um tamanho de mensagem maior no atributo maxReceivedMessageSize na marca de ligação.

O problema é quando emparelhamos o ponto final e a ligação pelo bindingConfigurationtributo @ no endpoint e onomtributo @ noobrigatóri, recebemos o seguinte erro: "O servidor remoto retornou um erro: (400) Solicitação incorreta".

Assim que removermos os dois atributos bindingConfiguration enom funciona sem erro.

Aqui está a definição do serviço endpoint:

    <service name="Services.DocumentService" behaviorConfiguration="ServiceBehavior">
    <endpoint contract="ServiceContracts.IDocumentService" address="DocumentService"
              binding="basicHttpBinding" name="basicHttpBinding" 
      bindingConfiguration="BindingConfiguration"     <---- when this goes away
              behaviorConfiguration="ServiceEndpointBehavior"/>
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8080/Documents/"/>
      </baseAddresses>
    </host>
    </service>

Aqui está obinding configuration:

    <binding  
      name="BindingConfiguration" <---- and when this goes away
     transferMode="Streamed" maxReceivedMessageSize="2147483647"  >
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                    maxArrayLength="2147483647" maxBytesPerRead="2147483647"
                    maxNameTableCharCount="2147483647" />
    </binding>

Então funciona apenas como ligação padrão (sem chave explicitamente nomeada). O estranho é que conseguimos verificar, refletindo no host de serviço, que a configuração de ligação está realmente aplicada (o maxReceivedMessageSize foi definido corretamente) nos dois cenários. Poderia ser um bug no WCF?

O serviço é auto-hospedado.

Alguma idéia é muito apreciada?

questionAnswers(4)

yourAnswerToTheQuestion