Operatsiooni 'xxx' ei saanud laadida, kuna sellel on parameeter või tagastustüüp System.ServiceModel.Channels.Message või tüüp, millel on MessageContractAttribute ja muud parameetrid erinevat tüüpi. Kui kasutatakse System.ServiceModel.Channels.Message või tüüpe, millel on MessageContractAttribute, ei tohi meetod kasutada muid parameetreid. Kirjutasin liidese failide üleslaadimiseks WCF-is ja tahan üleslaadimistulemuse tagastada, liides on järgmine:
Sel hetkel teatab jooks veast, kui see on kirjutatud järgmiselt:
Vead raporteeritakse ka käivitamisel!!!
Nagu me varem ütlesime, mis on dupleksimine, kas seal on ka edasi-tagasi liikumine – eks? Jah, ülaltoodud meetodil on sissetulevad parameetrid ja tagastusväärtused, on tulemisi ja minekuid, see on dupleks, miks mitte?
Haha, probleem on selles, et me kasutame sõnumiprotokolli, selle eelduse alusel ei saa meie meetodit juhuslikult defineerida sõnumiprotokolli meetodiga, kui:
a. Kui sõnumilepingut kasutatakse siseneva parameetrina, võib olla ainult üks parameeter ning järgmised definitsioonid on valed:
tühistada Kooskõlastus (BankingTransaction bt1, BankingTransaction bt2);
b. Kui sa ei tagasta tühist, kui mitte, siis pead tagastama sõnumilepingu, bool UpLoadFile(TransferFileMessage tMsg) Meie definitsioon ei vasta ilmselgelt nõuetele.
Kuidas seda siis lahendada? Me peame määratlema teise sõnumilepingu tagasisaatmiseks.
Umbkaudselt öeldes ei saa sa kasutada booli, stringi jne tagastusväärtustena, vaid saab määrata tühja väärtuse tüübi, mis pole tagastusväärtust.
Kuid ma mõtlen, mis siis, kui on tagastusväärtus???? Lahendus on järgmine:
|