Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 16868|Válasz: 0

[WCF/Web szolgáltatások] A 'xxx' műveletet nem lehetett betölteni, mert van egy paramétere vagy retu...

[Linket másol]
Közzétéve 2016. 07. 20. 10:59:59 | | |
A 'xxx' műveletet nem lehetett betölteni, mert van egy paraméter- vagy visszatérőtípusa, amely System.ServiceModel.Channels.Message típusú, vagy olyan típus, amely MessageContractAttribute és más paramétereket tartalmaz különböző típusokból. A System.ServiceModel.Channels.Message vagy a MessageContractAttribute típusú típusok használatakor a metódus nem használhat más paramétereket.

Írtam egy interfészt a fájlok feltöltésére a WCF-ben, és vissza akarom adni a feltöltési eredményt, az interfész a következő:



Ekkor a futás hibát jelent, ha az alábbiak szerint írják:



Hibákat is jelentenek futás közben!!!

Ahogy korábban is mondtuk, mi az a duplexelés, van egy oda-vissza párbeszéd, ugye? Igen, a fenti módszernek vannak bejövő paraméterei és visszaküldési értékei, vannak jönnek-mennek, duplex, miért ne?

Haha, a probléma az, hogy az üzenetprotokollt használjuk, ezen alapfeltevés szerint a módszerünk nem definiálható lazán, az üzenetprotokoll módszerrel, ha:

a. Ha az üzenetszerződést bejövő paraméterként használják, akkor csak egy paraméter lehet, és az alábbi definíciók helytelenek:

érvénytelenítés (BankingTransaction bt1, BankingTransaction bt2);

b. Ha nem térsz vissza érvénytelenül, ha nem, akkor üzenetszerződést kell visszaküldened, bool UpLoadFile(TransferFileMessage tMsg) A definíciónk nyilvánvalóan nem felel meg a követelményeknek.

Hogyan lehet megoldani? Új üzenetszerződést kell meghatároznunk a visszaküldéshez.


Nagyjából nem használhatod a bool-t, stringet stb. visszaküldési értékként, beállíthatod a void no return érték típust.

Viszont kíváncsi vagyok, mi van, ha van megtérülési értéke???? A megoldás a következő:









Előző:WCF hiba: 413 Request Entity Too Large
Következő:A WCF implementációs fájl feltöltésének van visszaadó értéke a demo letöltéshez
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com