消息变得奇怪来自:服务 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 序列化消息正文,这就是您所看到的。
当我发送一个 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 序列化消息正文,这就是您所看到的。