Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 16868|Répondre: 0

[WCF/Services Web] L’opération 'xxx' ne pouvait pas être chargée car elle possède un paramètre ou un retu...

[Copié le lien]
Publié sur 20/07/2016 10:59:59 | | |
L’opération 'xxx' ne pouvait pas être chargée car elle possède un paramètre ou un type de retour de type System.ServiceModel.Channels.Message ou un type contenant MessageContractAttribute et d’autres paramètres de différents types. Lors de l’utilisation de System.ServiceModel.Channels.Message ou de types avec MessageContractAttribute, la méthode ne doit utiliser aucun autre type de paramètre.

J’ai écrit une interface pour télécharger des fichiers dans WCF et je souhaite retourner le résultat de téléchargement, l’interface est la suivante :



À ce moment-là, l’exécution signalera une erreur si elle est écrite comme suit :



Des erreurs seront également signalées lors de l’exécution !!!

Comme nous l’avons dit plus tôt, qu’est-ce que le duplexage, il y a un va-et-vient, non ? Oui, la méthode ci-dessus a des paramètres d’entrée et des valeurs de retour, il y a des allées et venues, c’est duplex, pourquoi pas ?

Haha, le problème est que nous utilisons le protocole message, sous cette prémisse, notre méthode ne peut pas être définie de manière décontractée, en utilisant la méthode du protocole message, si :

a. Si le contrat message est utilisé comme paramètre entrant, il ne peut y avoir qu’un seul paramètre, et les définitions suivantes sont incorrectes :

annuler Concilier (BankingTransaction bt1, BankingTransaction bt2) ;

b. À moins que vous ne retourniez void, sinon vous devez renvoyer un message contract, bool UpLoadFile(TransferFileMessage tMsg). Notre définition ne répond évidemment pas aux exigences.

Alors, comment résoudre ça ? Nous devons définir un autre contrat de message pour le retour.


En gros, vous ne pouvez pas utiliser bool, string, etc. comme valeurs de retour, vous pouvez définir le type void no return value.

Cependant, je me demande si une valeur de retour existe ???? La solution est la suivante :









Précédent:Erreur WCF : 413 Entité de demande trop grande
Prochain:Le téléchargement du fichier d’implémentation WCF a une valeur de retour pour le téléchargement de la démo
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com