Мой совет: отправьте либо string
, либо byte[]
в качестве сообщения; Вы можете сделать это как:
byte[] body;
using(var ms = new MemoryStream()) {
Serializer.Serialize(ms, entity);
body = ms.ToArray();
}
и затем Send(body)
, или, если вы хотите string
, тогда Send(Convert.ToBase64String(body))
. И поменять это как другой конец.
Существует также механизм передачи Message
вместе с IMessageFormatter
, но я не уверен, что оно того стоит. Пример чтения:
Message msg = // receive
byte[] body = (byte[])msg.Body;
EntityBase entity;
using(var ms = new MemoryStream(body)) {
entity = Serializer.Deserialize<EntityBase>(ms);
}
или (если хотите передать string
):
string base64 = (string)msg.Body;
byte[] body = Convert.FromBase64String(base64);
// as before