C# Azure函数中带有服务总线触发器的自动转发消息

C# Azure函数中带有服务总线触发器的自动转发消息,c#,azure,azure-functions,azureservicebus,C#,Azure,Azure Functions,Azureservicebus,当我有自动转发队列时,Azure函数无法启动: 函数XXX错误:“函数XXX”的侦听器无法启动。Microsoft.ServiceBus:无法在启用自动转发的实体上创建消息接收器 // Code to create the queue: var manager = NamespaceManager.CreateFromConnectionString("ConnectionString"); manager.CreateQu

当我有自动转发队列时,Azure函数无法启动:

函数XXX错误:“函数XXX”的侦听器无法启动。Microsoft.ServiceBus:无法在启用自动转发的实体上创建消息接收器

            // Code to create the queue:
            var manager = NamespaceManager.CreateFromConnectionString("ConnectionString");
            manager.CreateQueue(new QueueDescription("myqueue_done")
            {
                RequiresSession = false
            });
            manager.CreateQueue(new QueueDescription("myqueue")
            {
                ForwardTo = "myqueue_done",
                RequiresSession = false
            });
下面是我的azure功能:

    [FunctionName("FunctionXXX")]
    public static void Run([ServiceBusTrigger("myqueue", Connection = "AzureSbConnectionString")]string myQueueItem, string messageId, string CorrelationId, TraceWriter log)
    {          

        log.Info($"Message id={messageId}, CorrelationId={CorrelationId}, was processed: {myQueueItem}");
    }
这真的是一种限制吗?有没有更好的方法在这个azure函数沙盒方法中移动处理过的消息


Tks

这不是功能限制,而是服务总线的工作方式

启用自动转发后,Service Bus会自动删除放置在第一个队列或订阅源中的消息,并将其放置在第二个队列或主题目标中


如果您的邮件被转发到另一个队列并从原始队列中删除,那么从同一队列中创建手动接收者是没有意义的。

谢谢!我不太理解这种行为。您知道是否有其他方法可以自动将已处理的消息放入另一个队列,而无需使用QueueClient显式发送消息?我之所以需要这个,是因为我想在客户端的流程完成时向客户端发送通知。我找到了我想要的:TksI认为更好的方法是遵循这个示例,当您可以创建另一个带有out参数的消息时