jos*_*hua 2 c# azure-worker-roles azureservicebus brokeredmessage
通过ServiceBus任何自定义传递代理消息DataContractSerializer[as Default XML Serializer Take Place].
var message = new BrokeredMessage(objMess.MessageBody);
Run Code Online (Sandbox Code Playgroud)
注意: 主要是邮件正文是HTML电子邮件的类型.
但是当在传递给worker角色的消息之后deserialization,我看到一些随机文本被附加在顶部正文中,
var reader = new StreamReader(receivedMessage.GetBody<Stream>());
@string3http://schemas.microsoft.com/2003/10/Serialization/? .
Rest of Message Body
Run Code Online (Sandbox Code Playgroud)
我试着给定制DataContractSerializer.但这搞砸了HTML符号.
一些格式化我找到的服务总线消息文章的内容,但仍然找到摆脱模式字符串的方法.
现在我正在substring使用消息体.
好像你有不匹配的发送者和接收者类型.应该像这样使用ServiceBus BrokeredMessages:
1)如果你发送,
var message = new BrokeredMessage(object)
你应该收到receivedMessage.GetBody<typeof(object)>()
2)如果你发送
var message = new BrokeredMessage(object, XmlObjectSerializer>- >你应该收到
receivedMessage.GetBody<typeof(object)>(XmlObjectSerializer)
3)如果你发送,
var message = new BrokeredMessage(Stream)
你应该收到
receivedMessage.GetBody<Stream>
这对你来说应该是透明的.只需将您发送的类型放入Receiver即可.
receivedMessage.GetBody<String>()如果它是一个字符串或receivedMessage.GetBody<TypeOfMessageBody>()