Operāciju 'xxx' nevarēja ielādēt, jo tai ir parametrs vai atgriešanas tips, kura tips ir System.ServiceModel.Channels.Message, vai tips, kuram ir MessageContractAttribute un citi parametri dažādu veidu. Izmantojot System.ServiceModel.Channels.Message vai tipus ar MessageContractAttribute, metode nedrīkst izmantot citus parametru tipus. Es uzrakstīju interfeisu, lai augšupielādētu failus WCF un vēlos atgriezt augšupielādes rezultātu, interfeiss ir šāds:
Šajā laikā skrējiens ziņos par kļūdu, ja tas ir rakstīts šādi:
Par kļūdām tiks ziņots arī palaišanas laikā!!!
Kā jau teicām iepriekš, kas ir dupleksēšana, ir turp un atpakaļ, vai ne? Jā, iepriekš minētajai metodei ir ienākošie parametri un atgriešanās vērtības, ir nākšana un aiziešana, tā ir dupleksa, kāpēc ne?
Haha, problēma ir tā, ka mēs izmantojam ziņojumu protokolu, saskaņā ar šo priekšnoteikumu, mūsu metodi nevar definēt nejauši, izmantojot ziņojumu protokola metodi, ja:
a. Ja ziņojuma līgums tiek izmantots kā ienākošais parametrs, var būt tikai viens parametrs, un šādas definīcijas ir nepareizas:
void Reconcile(BankingTransaction bt1, BankingTransaction bt2);
b. Ja vien jūs neatgriežaties spēkā neesošs, ja nē, tad jums ir jāatgriež ziņojums līgums, bool UpLoadFile(TransferFileMessage tMsg) Mūsu definīcija acīmredzami neatbilst prasībām.
Tātad, kā to atrisināt? Mums ir jādefinē cits ziņojuma līgums par atgriešanos.
Aptuveni runājot, jūs nevarat izmantot bool, virkni utt. kā atgrieztās vērtības, jūs varat iestatīt void no return value type.
Tomēr es domāju, ko darīt, ja ir atgriešanās vērtība???? Risinājums ir šāds:
|