Operacije 'xxx' ni bilo mogoče naložiti, ker ima parameter ali povratni tip tipa System.ServiceModel.Channels.Message ali tip, ki ima MessageContractAttribute in druge parametre različnih vrst. Pri uporabi System.ServiceModel.Channels.Message ali tipov z MessageContractAttribute metoda ne sme uporabljati nobenih drugih vrst parametrov. Napisal sem vmesnik za nalaganje datotek v WCF in želim vrniti rezultat nalaganja, vmesnik je naslednji:
V tem trenutku bo zaporedje poročalo o napaki, če je zapisano takole:
Napake bodo prav tako prijavljene med zagonom!!!
Kot smo že rekli, kaj je duplexing, gre za izmenjavo dogodkov, kajne? Da, zgornja metoda ima vhodne parametre in povratne vrednosti, so prihodi in odhodi, je duplex, zakaj pa ne?
Haha, težava je v tem, da uporabljamo protokol sporočil, pod tem predpostavko naše metode ni mogoče definirati naključno z metodo protokola sporočil, če:
a. Če se kot vhodni parameter uporablja pogodba za sporočilo, lahko obstaja le en parameter in naslednje definicije so napačne:
razveljavitev Rekoncile(BankingTransaction bt1, BankingTransaction bt2);
b. Če ne vrnete ničnega, če ne, morate vrniti pogodbo za sporočilo, bool UpLoadFile(TransferFileMessage tMsg) Naša definicija očitno ne izpolnjuje zahtev.
Kako torej to rešiti? Moramo definirati drugo pogodbo za sporočila za vračanje.
Na grobo povedano, ne moreš uporabiti bool, string itd. kot povratne vrednosti, lahko nastaviš void no return value tip.
Vendar se sprašujem, kaj če obstaja donosna vrednost???? Rešitev je naslednja:
|