Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 16868|Atbildi: 0

[WCF / Web Servics] Operāciju 'xxx' nevarēja ielādēt, jo tai ir parametrs vai retu...

[Kopēt saiti]
Publicēts 20.07.2016 10:59:59 | | |
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:









Iepriekšējo:WCF kļūda: 413 pieprasījuma entītija ir pārāk liela
Nākamo:WCF ieviešanas faila augšupielādei ir atgrieztā vērtība demonstrācijas lejupielādei
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com