我有一个要消耗的服务总线队列。我发现的所有示例都建议编写如下内容:
class Program
{
private static String ServiceBusConnectionString = ConfigurationManager.ConnectionStrings["Microsoft.ServiceBus.ConnectionString"].ConnectionString;
static void Main()
{
var jobHostConfiguration = new JobHostConfiguration
{
ServiceBusConnectionString = ServiceBusConnectionString,
};
var jobHost = new JobHost(jobHostConfiguration);
jobHost.RunAndBlock();
}
}
public class QueueItem
{
public String Name;
public Int64 Id;
}
public class Functions
{
public void ProcessQueueItem([ServiceBusTrigger("queue-name")] QueueItem queueItem)
{
// TODO: process queue item
}
}
上面代码的问题是队列名称在我的程序中是硬编码的。我希望能够像使用队列连接字符串一样从配置中获取队列名称。不幸的是,属性只能传递编译时常量,所以我不能传递一些来自配置的静态初始化字符串。
我环顾四周,找不到任何其他方法来设置服务总线功能绑定。这是不可能的吗?