Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16868|Svar: 0

[WCF/Webtjenester] Operationen 'xxx' kunne ikke indlæses, fordi den har en parameter eller retu...

[Kopier link]
Opslået på 20/07/2016 10.59.59 | | |
Operationen 'xxx' kunne ikke indlæses, fordi den har en parameter eller returtype af typen System.ServiceModel.Channels.Message eller en type, der har MessageContractAttribute og andre parametre af forskellige slags. Når man bruger System.ServiceModel.Channels.Message eller typer med MessageContractAttribute, må metoden ikke bruge andre typer parametre.

Jeg har skrevet et interface til upload af filer i WCF og vil returnere uploadresultatet, interfacet er som følger:



På dette tidspunkt vil kørslen rapportere en fejl, hvis den er skrevet som følger:



Fejl vil også blive rapporteret, når de kører!!!

Som vi sagde tidligere, hvad er duplexing, der er en frem og tilbage, ikke? Ja, ovenstående metode har indkommende parametre og returværdier, der er ind- og udgåen, det er duplex, hvorfor ikke?

Haha, problemet er, at vi bruger meddelelsesprotokollen, og under dette udgangspunkt kan vores metode ikke defineres tilfældigt, ved hjælp af meddelelsesprotokolmetoden, hvis:

a. Hvis meddelelseskontrakten bruges som en indkommende parameter, kan der kun være én parameter, og følgende definitioner er forkerte:

ugyldig afstemning(BankingTransaktion bt1, BankingTransaktion bt2);

b. Medmindre du returnerer annulleret, hvis ikke, skal du returnere en beskedkontrakt, bool UpLoadFile(TransferFileMessage tMsg). Vores definition opfylder åbenlyst ikke kravene.

Så hvordan løser man det? Vi skal definere en anden beskedkontrakt for retur.


Groft sagt kan du ikke bruge bool, string osv. som returnværdier, du kan sætte void no return value-typen.

Men jeg spekulerer på, hvad der nu er en afkastværdi???? Løsningen er som følger:









Tidligere:WCF-fejl: 413 anmodningsenhed for stor
Næste:WCF-implementeringsfilupload har en returværdi for demo-download
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com