Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 16868|Svar: 0

[WCF/Webtjänster] Operationen 'xxx' kunde inte laddas eftersom den har en parameter eller retu...

[Kopiera länk]
Publicerad på 2016-07-20 10:59:59 | | |
Operationen 'xxx' kunde inte laddas eftersom den har en parameter eller returtyp av typen System.ServiceModel.Channels.Message eller en typ som har MessageContractAttribute och andra parametrar av olika slag. När System.ServiceModel.Channels.Message eller typer med MessageContractAttribute används får metoden inte använda några andra typer av parametrar.

Jag skrev ett gränssnitt för att ladda upp filer i WCF och vill returnera uppladdningsresultatet, gränssnittet är följande:



Vid denna tidpunkt rapporterar körningen ett fel om det skrivs enligt följande:



Fel rapporteras också när de körs!!!

Som vi sa tidigare, vad är duplex, det finns en fram och tillbaka kommunikation, eller hur? Ja, metoden ovan har inkommande parametrar och returvärden, det finns inkommande och går, det är duplex, varför inte?

Haha, problemet är att vi använder meddelandeprotokollet, under denna premiss kan vår metod inte definieras casual, med meddelandeprotokollmetoden, om:

a. Om meddelandekontraktet används som en inkommande parameter kan det bara finnas en parameter, och följande definitioner är felaktiga:

ogiltig avstämning(BankingTransaktion bt1, BankingTransaktion bt2);

b. Om du inte returnerar void, om inte, måste du returnera ett meddelandekontrakt, bool UpLoadFile(TransferFileMessage tMsg). Vår definition uppfyller uppenbarligen inte kraven.

Så hur löser man det? Vi behöver definiera ett annat meddelandekontrakt för att returnera.


Grovt sett kan du inte använda bool, string osv. som returnvärden, du kan ställa in void no return value-typen.

Men jag undrar om det finns ett avkastningsvärde???? Lösningen är följande:









Föregående:WCF-fel: 413 begäran, enhet för stor
Nästa:Uppladdning av WCF-implementeringsfiler har ett returvärde för demonedladdning
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com