Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 16868|Antwort: 0

[WCF/Web Servics] Die Operation 'xxx' konnte nicht geladen werden, da sie einen Parameter oder Retu...

[Link kopieren]
Veröffentlicht am 20.07.2016 10:59:59 | | |
Die Operation 'xxx' konnte nicht geladen werden, da sie einen Parameter- oder Rückgabetyp vom Typ System.ServiceModel.Channels.Message oder einen Typ mit MessageContractAttribute und anderen Parametern besitzt von verschiedenen Arten. Bei Verwendung von System.ServiceModel.Channels.Message oder Typen mit MessageContractAttribute darf die Methode keine anderen Parametertypen verwenden.

Ich habe eine Schnittstelle zum Hochladen von Dateien in WCF geschrieben und möchte das Upload-Ergebnis zurückgeben, die Benutzeroberfläche ist wie folgt:



Zu diesem Zeitpunkt meldet der Lauf einen Fehler, wenn er wie folgt geschrieben ist:



Fehler werden auch beim Ausführen gemeldet!!!

Wie wir schon sagten, was ist Doppelhaus, es gibt doch ein Hin und Her, oder? Ja, die obige Methode hat eingehende Parameter und Rückgabewerte, es gibt Ein- und Ausgänge, es ist ein Duplex, warum nicht?

Haha, das Problem ist, dass wir das Nachrichtenprotokoll verwenden; unter dieser Prämisse kann unsere Methode nicht beiläufig mit der Nachrichtenprotokollmethode definiert werden, wenn:

a. Wenn der Nachrichtenvertrag als eingehender Parameter verwendet wird, kann es nur einen Parameter geben, und die folgenden Definitionen sind falsch:

null Reconcile(BankingTransaction bt1, BankingTransaction bt2);

b. Wenn Sie nicht "void" zurückgeben, wenn nicht, müssen Sie einen Nachrichtenvertrag zurücksenden, bool UpLoadFile(TransferFileMessage tMsg). Unsere Definition erfüllt offensichtlich nicht die Anforderungen.

Wie löst man das also? Wir müssen einen weiteren Nachrichtenvertrag für die Rückgabe definieren.


Grob gesagt kannst du nicht bool, string usw. als Rückgabewerte verwenden, sondern den Typ void ohne Rückgabe setzen.

Allerdings frage ich mich, ob es einen Rendite gibt???? Die Lösung lautet wie folgt:









Vorhergehend:WCF-Fehler: 413 Anfrage-Entity zu groß
Nächster:Der Upload von WCF-Implementierungsdateien hat einen Rückgabewert für den Demo-Download
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com