全部产品
Search
文档中心

ApsaraMQ for RocketMQ:Mengatasi ketidakcocokan .NET SDK dengan byte string Protobuf

更新时间:Mar 12, 2026

Konstruktor Message default pada ApsaraMQ for RocketMQ .NET SDK menginterpretasikan parameter body sebagai string, sehingga merusak data biner yang dihasilkan dari serialisasi Protocol Buffers (Protobuf). Untuk mengirim pesan yang telah diserialisasi dengan Protobuf, gunakan konstruktor tanpa parameter body, lalu panggil metode setBody untuk meneruskan byte mentah secara langsung.

Solusi

Gunakan konstruktor yang tidak memiliki parameter body, kemudian panggil metode setBody untuk mengatur body pesan. Pendekatan ini memastikan SDK kompatibel dengan byte string yang dihasilkan setelah data diserialisasi menggunakan Protobuf.

Referensi metode setBody

Metode setBody menulis byte mentah ke dalam body pesan, melewati enkode string yang digunakan oleh konstruktor default.

public void setBody(byte[] byte_msgbody, int len)
ParameterTypeDescription
byte_msgbodybyte[]Body pesan dalam bentuk array byte
lenintPanjang array byte