Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 18761|Resposta: 1

[WCF/Serviços Web] A cota máxima de tamanho de mensagem para mensagens recebidas (65536) foi ultrapassada. Para aumentar a cota, use o ...

[Copiar link]
Publicado em 24/04/2017 17:02:30 | | |
A cota máxima de tamanho de mensagem para mensagens recebidas (65536) foi ultrapassada. Para aumentar a cota, use a propriedade MaxReceivedMessageSize no elemento de vinculação apropriado.


Ao usar o WCF, encontro os seguintes problemas:


A cota máxima de tamanho de mensagem para mensagens recebidas (65536) foi ultrapassada. Para aumentar a cota, use a propriedade MaxReceivedMessageSize no elemento de vinculação apropriado.

Descrição do problema:

Quando o cliente chama WCF e retorna uma grande quantidade de dados, não há problema com a LAN (o cliente encontrou um problema com uma máquina no local, o motivo específico é desconhecido). Há um problema em postar na extranet.


A informação de exceção que o VS2012 Debug detecta é: Um erro estava ocorrendo durante a transferência de dados por um canal HTTP (os dados não podiam ser lidos da conexão de transporte: a conexão estava fechada. )。

A exceção retornada pela ferramenta WCFStorm é: A cota máxima de tamanho de mensagem para mensagens recebidas (65536) foi ultrapassada. Para aumentar a cota, use a propriedade MaxReceivedMessageSize no elemento de vinculação apropriado.

Antes do erro, tanto o servidor quanto o cliente haviam adicionado as seguintes configurações:


Adicione o seguinte código no lado do servidor para resolver o problema:

Espero que isso possa resolver quem está passando pelo mesmo problema.

Outras soluções:

Após ler o post de @sunny007sun http://bbs.csdn.net/topics/360255080, uma solução foi encontrada http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html seu registro (blog).
O web.config gerado automaticamente pelo Silverlight não possui informações de configuração para serviços e precisa ser adicionado aqui
    <services>
      <behavior do serviçoConfiguração="MeuComportamento" nome="WcfService1.Service1">
        <endereço de endpoint="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          contract="WcfService1.IService1" />
        <endereço de endpoint="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
De fato, ainda existe uma diferença entre service.name e endpoint.contract, contrato é um protocolo correspondente ao ServiceContract sob o projeto WCF, ou seja, a interface IService1, e serviço corresponde à chamada específica de svc, ou seja, Service1.

Até agora, o problema foi resolvido, obrigado @sunny007sun pelos 11 anos postando e escrevendo no blog.





Anterior:.NET/C# Ferramenta de Depuração da Interface NB-IoT da Huawei [Código-Fonte]
Próximo:Winform ListView, função de duplo clique direito
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com