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

Vista: 16868|Resposta: 0

[WCF/Serviços Web] A operação 'xxx' não pôde ser carregada porque possui um parâmetro ou retu...

[Copiar link]
Publicado em 20/07/2016 10:59:59 | | |
A operação 'xxx' não pôde ser carregada porque possui um parâmetro ou tipo de retorno do tipo System.ServiceModel.Channels.Message ou um tipo que possui MessageContractAttribute e outros parâmetros de diferentes tipos. Ao usar System.ServiceModel.Channels.Message ou tipos com MessageContractAttribute, o método não deve usar nenhum outro tipo de parâmetro.

Escrevi uma interface para enviar arquivos no WCF e quero devolver o resultado do upload, a interface é a seguinte:



Neste momento, a execução reportará um erro se for escrita da seguinte forma:



Erros também serão reportados durante a execução!!!

Como dissemos antes, o que é duplexing, existe um vai e vem, certo? Sim, o método acima tem parâmetros de entrada e valores de retorno, há idas e vindas, é duplex, por que não?

Haha, o problema é que usamos o protocolo de mensagem, sob essa premissa, nosso método não pode ser definido casualmente, usando o método do protocolo de mensagem, se:

a. Se o contrato de mensagem for usado como parâmetro de entrada, só pode haver um parâmetro, e as seguintes definições estão incorretas:

void Reconcile(BankingTransaction bt1, BankingTransaction bt2);

b. A menos que você retorne o void, se não, então deve devolver um contrato de mensagem, bool UpLoadFile(TransferFileMessage tMsg). Nossa definição obviamente não atende aos requisitos.

Então, como resolver isso? Precisamos definir outro contrato de mensagem para o retorno.


De forma geral, você não pode usar bool, string, etc. como valores de retorno, você pode definir o tipo void no return value.

No entanto, fico pensando se houver um valor de retorno???? A solução é a seguinte:









Anterior:Erro WCF: 413 Entidade de Solicitação Muito Grande
Próximo:O upload do arquivo de implementação do WCF tem um valor de retorno para download da demonstração
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