gpt4 book ai didi

c# - Azure Function v2 中的 BrokeredMessage 发送和消息使用者

转载 作者:行者123 更新时间:2023-12-02 23:18:41 25 4
gpt4 key购买 nike

我有模拟的 azure web 作业,它会定期推送 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 来使用它类。

public static void Integrate(
[ServiceBusTrigger(
"%topic%",
"%subscribtion%",
Connection = "ServiceBusConnection")] Message message,
TraceWriter log,
ExecutionContext context)
{
try
{
message.GetBody<AwesomeContract>();
}
}

关于 GetBody<>我收到DataContractSerialization异常“反序列化类型 的对象时出错。输入源的格式不正确。

BrokeredMessageMessage在 azure 函数 v1 和 v2 中兼容吗?有什么建议吗?

最佳答案

BrokeredMessage 是来自 WindowsAzure.ServiceBus 库的消息对象,其中 Message 是来自 Microsoft.Azure.ServiceBus 库的对象。

尽管这些库之间的对象类型不同,但将消息正文作为 Stream 发送将有助于克服读取正文时的异常。

message = new BrokeredMessage(new MemoryStream(Encoding.UTF8.GetBytes([message_body]));

按照上面的方式构造消息会有所帮助。

关于c# - Azure Function v2 中的 BrokeredMessage 发送和消息使用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52419414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com