gpt4 book ai didi

c# - 如何拥有一个写入服务总线队列的异步函数?

转载 作者:可可西里 更新时间:2023-11-01 09:03:03 26 4
gpt4 key购买 nike

使用 Azure WebJobs SDK,我想创建一个异步函数,该函数将接收 ServiceBus 队列输入并写入 ServiceBus 队列输出。异步方法不能有 out 参数,例如在 BlobStorage 上,似乎可以通过使用 Streams 和 TextWriter 来解决。但是,当我尝试对 ServiceBus 参数执行相同操作时,我收到异常。

public static async void Transform(
[ServiceBusTrigger("%InputQueue%")] String input,
[ServiceBus("%OutputQueue%")] TextWriter output,
TextWriter log)

Error indexing method 'FilterCurrentCpesToNewCpes'

Can't bind ServiceBus to type 'System.IO.TextWriter'.

我收到一条类似的 Stream 消息。

最佳答案

由于异步函数不能有 out 参数,因此您可以绑定(bind)到 ICollector<T>IAsyncCollector<T>并执行Add()操作发送消息。 ICollector 在 WebJobs SDK 中定义。

以下示例演示了这一点。

 public static async void Transform(
[ServiceBusTrigger("%InputQueue%")] string input,
[ServiceBus("%OutputQueue%")] IAsyncCollector<string> output,
TextWriter log)
{
await output.AddAsync(input);
}

关于c# - 如何拥有一个写入服务总线队列的异步函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26602490/

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