首页 文章

有没有办法使Azure WebJobs ServiceBus out参数可选?

提问于
浏览
2

我正在构建一个控制台应用程序,它将作为一个连续的Azure WebJob运行 . 我通过Nuget包Microsoft.Azure.Jobs.ServiceBus v0.3.1-beta(预发行版)使用Azure WebJobs SDK . 我有一个在Azure ServiceBus队列上触发的静态方法 . 我做了一些处理,然后想让 option 通过输出参数向另一个队列发送响应 . 方法签名如下所示:

public static void TriggerOnQueue(
     [ServiceBusTrigger(QueueName)] BrokeredMessage receivedMessage,
     [ServiceBus(QueueResponseName)] out BrokeredMessage responseMessage)
{
      ...
}

我最初的想法是将responseMessage设置为null . 但是,当我这样做时,控制台窗口中会出现错误 . 它不会停止执行(所以它在技术上做了我想要它做的事情),但我宁愿不把某些东西抛到 生产环境 中 . 是否有任何非hackish方法在响应消息中设置一个不会引发错误的值,但是不会将消息提交给响应队列?

如果没有,是否还有我可以使用的另一种模式?我更喜欢使用WebJobs SDK的管道功能,而不是手动创建输出队列 . 我可能会将需要响应的请求提交到一个单独的队列中,并且有两个单独的触发器,但是我有这么多,我宁愿保持简单和一起 .

思考?

1 回答

  • 1

    这种为out参数指定null的模式适用于Azure队列,但它会引发服务总线队列的异常 . 这看起来像SDK中的bug . 我会为我们打开一个bug来修复它 . 感谢您报告此问题

相关问题