Asp.net core 使用百分比语法从appsettings.json获取设置

Asp.net core 使用百分比语法从appsettings.json获取设置,asp.net-core,.net-core,Asp.net Core,.net Core,如果希望ServiceBusTrigger使用de appsettings.json中的设置,可以这样做: [ServiceBusTrigger("%CommandQueue:QueueName%")] [ServiceBusTrigger("%CommandQueue:Queues{QueueName=ThisOne}:EndPoint%")] 但是,如果我的appsettings中有一个队列数组,并且我想要指向其中一个队列,该怎么办呢 { "Queues": [ {

如果希望ServiceBusTrigger使用de appsettings.json中的设置,可以这样做:

[ServiceBusTrigger("%CommandQueue:QueueName%")]
[ServiceBusTrigger("%CommandQueue:Queues{QueueName=ThisOne}:EndPoint%")]
但是,如果我的appsettings中有一个队列数组,并且我想要指向其中一个队列,该怎么办呢

{
   "Queues": [
      {
          "QueueName": "ThisOne",
          "EndPoint": "TheEndMyFriend"
      }
]}
我想指定如下内容:

[ServiceBusTrigger("%CommandQueue:QueueName%")]
[ServiceBusTrigger("%CommandQueue:Queues{QueueName=ThisOne}:EndPoint%")]

这可能吗?

不可能。那不可能。就目前情况而言,最好是索引,因为这是一个数组。换句话说,例如,如果知道要从数组中使用的是第二项,则可以使用
%CommandQueue:Queues:1:Endpoint%
。然而,这是非常脆弱的,如果您更改了顺序,在它之前插入一个新队列,等等,那么您的代码就会中断

如果将配置的格式更改为对象的对象:

"Queues": {
    "ThisOne": {
        "EndPoint": "TheEndMyFriend"
    }
}
然后,您可以使用
%CommandQueue:Queues:ThisOne:EndPoint%
,这将更加健壮