Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 16868|Răspunde: 0

[WCF/Web Servics] Operațiunea 'xxx' nu putea fi încărcată deoarece are un parametru sau retu...

[Copiază linkul]
Postat pe 20.07.2016 10:59:59 | | |
Operațiunea 'xxx' nu a putut fi încărcată deoarece are un parametru sau un tip de returnare de tip System.ServiceModel.Channels.Message sau un tip care are MessageContractAttribute și alți parametri de diferite tipuri. Când se folosesc System.ServiceModel.Channels.Message sau tipurile cu MessageContractAttribute, metoda nu trebuie să folosească alte tipuri de parametri.

Am scris o interfață pentru a încărca fișiere în WCF și vreau să returnez rezultatul încărcării, interfața este următoarea:



În acest moment, rularea va raporta o eroare dacă este scrisă astfel:



Erorile vor fi raportate și la rulare!!!

Așa cum am spus mai devreme, ce înseamnă duplexarea, există un du-te-vino, nu-i așa? Da, metoda de mai sus are parametri de intrare și valori de returnare, există veniri și plecări, este duplex, de ce nu?

Haha, problema este că folosim protocolul mesajului, sub această premisă, metoda noastră nu poate fi definită casual, folosind metoda protocolului mesajului, dacă:

a. Dacă contractul mesajului este folosit ca parametru de intrare, poate exista un singur parametru, iar următoarele definiții sunt incorecte:

void Reconcile (BankingTransaction bt1, BankingTransaction bt2);

b. Dacă nu returnezi anul, dacă nu, atunci trebuie să returnezi un contract de mesaj, bool UpLoadFile(TransferFileMessage tMsg) Definiția noastră evident nu îndeplinește cerințele.

Deci, cum să rezolv asta? Trebuie să definim un alt contract de mesaj pentru returnare.


Pe scurt, nu poți folosi bool, string etc. ca valori de return, poți seta tipul void no return value.

Totuși, mă întreb dacă există o valoare de returnare???? Soluția este următoarea:









Precedent:Eroare WCF: 413 Entitate de solicitare prea mare
Următor:Încărcarea fișierelor de implementare WCF are o valoare de returnare pentru descărcarea demo
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com