我有模拟的天蓝色网络作业,它会定期推送BrokeredMessage
到服务总线主题,就像这样
public void Simulate(
[TimerTrigger("0 */30 * * * *", RunOnStartup = true)]
TimerInfo timerInfo,
[ServiceBus("%topic%")]
out BrokeredMessage message)
{
message = new BrokeredMessage(
new AwesomeContract()
{
});
}
在azure function V2中,我尝试使用它来使用它Message
class.
public static void Integrate(
[ServiceBusTrigger(
"%topic%",
"%subscribtion%",
Connection = "ServiceBusConnection")] Message message,
TraceWriter log,
ExecutionContext context)
{
try
{
message.GetBody<AwesomeContract>();
}
}
On GetBody<>
我收到DataContractSerialization
例外 ”反序列化 类型的对象时出错。输入源的格式不正确。"
Are BrokeredMessage
and Message
在 azure 函数 v1 和 v2 中兼容吗?有什么建议么?
BrokeredMessage
是来自 WindowsAzure.ServiceBus 库的消息对象,其中Message
是 Microsoft.Azure.ServiceBus 库中的对象。
尽管这些库之间的对象类型不同,但将消息正文作为Stream
将有助于在阅读正文时克服异常。
message = new BrokeredMessage(new MemoryStream(Encoding.UTF8.GetBytes([message_body]));
按照上面的方式构建消息会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)