Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 16868|Risposta: 0

[WCF/Servizi Web] L'operazione 'xxx' non poteva essere caricata perché aveva un parametro o retu...

[Copiato link]
Pubblicato su 20/07/2016 10:59:59 | | |
L'operazione 'xxx' non poteva essere caricata perché aveva un parametro o tipo di ritorno di tipo System.ServiceModel.Channels.Message o un tipo che conteneva MessageContractAttribute e altri parametri di diversi tipi. Quando si usano System.ServiceModel.Channels.Message o tipi con MessageContractAttribute, il metodo non deve utilizzare altri tipi di parametri.

Ho scritto un'interfaccia per caricare file in WCF e voglio restituire il risultato di upload, l'interfaccia è la seguente:



A questo punto, la run segnala un errore se viene scritta come segue:



Gli errori verranno segnalati anche durante l'esecuzione!!!

Come abbiamo detto prima, cos'è il duplexing, c'è un botta e molla, giusto? Sì, il metodo sopra ha parametri in ingresso e valori di ritorno, ci sono andate e viene, è duplex, perché no?

Ahah, il problema è che usiamo il protocollo messaggio, sotto questa premessa, il nostro metodo non può essere definito casualmente, usando il metodo del protocollo messaggio, se:

a. Se il contratto messaggio viene usato come parametro in ingresso, può esserci un solo parametro, e le seguenti definizioni sono errate:

annulla Riconciliazione (BankingTransaction bt1, BankingTransaction bt2);

b. A meno che tu non restituisca null, altrimenti devi restituire un contratto di messaggio, bool UpLoadFile(TransferFileMessage tMsg). La nostra definizione ovviamente non soddisfa i requisiti.

Quindi, come risolverlo? Dobbiamo definire un altro contratto di messaggio per il ritorno.


In termini generali, non puoi usare bool, string, ecc. come valori di ritorno, puoi impostare il tipo void no return value.

Tuttavia, mi chiedo cosa succeda se ci fosse un valore di reso???? La soluzione è la seguente:









Precedente:Errore WCF: 413 Richiede entità troppo grande
Prossimo:Il caricamento del file di implementazione WCF ha un valore di ritorno per il download della demo
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com