如何为Web作业处理设置基于配置的队列名称?

Alb*_*lva 4 azure azureservicebus azure-webjobs

我有一个webjob应用程序来处理运行良好的ServiceBus队列,使用以下方法:

public static void ProcessQueueMessage([ServiceBusTrigger("myQueueName")] BrokeredMessage message, TextWriter log)
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够在不重新编译的情况下更改队列名称,例如根据配置appsetting,可以完成吗?

mat*_*ewc 5

是的,你可以这样做.您可以实现自己的INameResolver并将其设置在JobHostConfiguration.NameResolver上.然后,您可以在ServiceBusTrigger属性中使用类似%myqueue%的队列名称- 运行时将调用您的INameResolver来解析该%myqeuue%变量 - 您可以使用您想要解析名称的任何自定义代码.你可以从应用程序设置等阅读它.