gpt4 book ai didi

c# - 来自 Azure Webjobs 主机的 FormatExcpetion

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:27 25 4
gpt4 key购买 nike

了解这是预发布版:)

尝试在 Azure WebJobs 中使用QueueInput 并将哈希的十六进制字符串粘贴到消息中时。

public System.Guid GetOwner(CloudQueueMessage msg) 

查看 ilspy 似乎正在尝试解析 $AzureJobsParentId 并且 JSON 解析器抛出异常,我可以通过将哈希值编码为 JSON 来绕过它片段,但我不想这样做。这是一个已知的错误?

最佳答案

[QueueInput] 通常会使用 JSON.Net 将队列消息负载反序列化为参数类型。因此,如果队列消息不是 JSON,您将收到一个异常(然后应该将其包装在更友好的内容中)。

您还可以通过使用带有 [QueueInput] 的字符串参数来解决此问题,例如:

    public static void Function([QueueInput] string testqueue)
{
}

对于字符串参数,SDK 会直接为您提供 QueueMessage.AsString,无需任何 JSON 序列化。

仅供引用,$AzureJobsParentId 是放置在 json 负载上的特殊字段,用于标识哪个函数实例将消息排入队列。当您使用 [QueueOutput] 将消息排入队列时,会使用此选项。然后,您可以在 SDK 仪表板中查看该关系 ( http://blogs.msdn.com/b/jmstall/archive/2014/01/27/getting-a-dashboard-for-local-development-with-the-webjobs-sdk.aspx )

关于c# - 来自 Azure Webjobs 主机的 FormatExcpetion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21694341/

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