消息变得奇怪来自:服务 bus/BrokeredMessage

Message gets weird from: Service bus/BrokeredMessage

当我发送一个 guid 作为消息并接收它时,消息变得奇怪:

@guid3http://schemas.microsoft.com/2003/10/Serialization/�$ed92ba5c-68ed-2a4c-8d89-0a087e47ef11

知道为什么我不只收到 Guid 作为消息吗?

发件人:

 public void Post(Guid id) {
            var connectionString = "X";
            var queueName = "Send";

            var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
            var message = new BrokeredMessage(id);    

            client.Send(message);                  
        }

接收者:

  public string ReadPost() {
            var connectionString = "X";
            var queueName = "Send";

            var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
            var message = client.Receive(TimeSpan.FromMinutes(1));

            var stream = message?.GetBody<Stream>();
            if (stream == null) { return null; }

            var reader = new StreamReader(stream);
            var textFromBody = reader.ReadToEnd();

            message.Complete();

            return textFromBody;
        }

试试这个:

message.GetBody<Guid>();

而不是获取流。

服务总线队列使用 DataContractSerializer 序列化消息正文,这就是您所看到的。