Operasi 'xxx' tidak dapat dimuat karena memiliki parameter atau jenis pengembalian jenis System.ServiceModel.Channels.Message atau jenis yang memiliki MessageContractAttribute dan parameter lainnya dari berbagai jenis. Saat menggunakan System.ServiceModel.Channels.Message atau jenis dengan MessageContractAttribute, metode tidak boleh menggunakan jenis parameter lainnya. Saya menulis antarmuka untuk mengunggah file di WCF dan ingin mengembalikan hasil unggahan, antarmukanya adalah sebagai berikut:
Pada saat ini, eksekusi akan melaporkan kesalahan jika ditulis sebagai berikut:
Kesalahan juga akan dilaporkan saat berjalan!!!
Seperti yang kami katakan sebelumnya, apa itu dupleks, ada bolak-balik, bukan? Ya, metode di atas memiliki parameter masuk dan nilai pengembalian, ada datang dan pergi, itu dupleks, mengapa tidak?
Haha, masalahnya adalah kita menggunakan protokol pesan, di bawah premis ini, metode kita tidak dapat didefinisikan dengan santai, menggunakan metode protokol pesan, jika:
a. Jika kontrak pesan digunakan sebagai parameter masuk, hanya ada satu parameter, dan definisi berikut salah:
batal Rekonsiliasi (BankingTransaction bt1, BankingTransaction bt2);
b. Kecuali Anda mengembalikan batal, jika tidak, maka Anda harus mengembalikan kontrak pesan, bool UpLoadFile(TransferFileMessage tMsg) Definisi kami jelas tidak memenuhi persyaratan.
Jadi bagaimana cara mengatasinya? Kita perlu menentukan kontrak pesan lain untuk pengembalian.
Secara kasar, Anda tidak dapat menggunakan bool, string, dll. sebagai nilai pengembalian, Anda dapat mengatur jenis void no return value.
Namun, saya bertanya-tanya bagaimana jika ada nilai pengembalian???? Solusinya adalah sebagai berikut:
|