Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 16868|Respuesta: 0

[WCF/Servicios Web] La operación 'xxx' no podía cargarse porque tenía un parámetro o retu...

[Copiar enlace]
Publicado en 20/7/2016 10:59:59 | | |
La operación 'xxx' no podía cargarse porque tenía un parámetro o tipo de retorno de tipo System.ServiceModel.Channels.Message o un tipo que tenía MessageContractAttribute y otros parámetros de diferentes tipos. Al usar System.ServiceModel.Channels.Message o tipos con MessageContractAttribute, el método no debe usar ningún otro tipo de parámetro.

He escrito una interfaz para subir archivos en WCF y quiero devolver el resultado de subida, la interfaz es la siguiente:



En este momento, la ejecución reportará un error si se escribe de la siguiente manera:



También se reportarán errores durante la ejecución!!!

Como dijimos antes, ¿qué es duplexar? Hay un ir y venir, ¿verdad? Sí, el método anterior tiene parámetros de entrada y valores de retorno, hay idas y venidas, es dúplex, ¿por qué no?

Jaja, el problema es que usamos el protocolo de mensajes, bajo esta premisa, nuestro método no puede definirse de forma casual, usando el método del protocolo de mensajes, si:

a. Si el contrato de mensaje se usa como parámetro entrante, solo puede haber un parámetro, y las siguientes definiciones son incorrectas:

anular Reconciliar (BankingTransaction bt1, BankingTransaction bt2);

b. A menos que devuelvas void, si no, debes devolver un contrato de mensaje, bool UpLoadFile(TransferFileMessage tMsg). Nuestra definición obviamente no cumple los requisitos.

¿Entonces, cómo solucionarlo? Necesitamos definir otro contrato de mensaje para la devolución.


A grandes rasgos, no puedes usar bool, string, etc. como valores de retorno, puedes establecer el tipo void no return value.

Sin embargo, me pregunto qué pasaría si hubiera un valor de devolución???? La solución es la siguiente:









Anterior:Error WCF: 413 Entidad de solicitud demasiado grande
Próximo:La subida del archivo de implementación de WCF tiene un valor de retorno para la descarga de la demo
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com