Правильный способ передачи строки подключения из автозагрузки на любой другой контроллер

Допустимый способ сделать это (но кажется слишком запутанным):

let arr = [1,2,3];

function filter(num) {
  return new Promise((res, rej) => {
    setTimeout(() => {
      if( num === 3 ) {
        res(num);
      } else {
        rej();
      }
    }, 1);
  });
}

async function check(num) {
  try {
    await filter(num);
    return true;
  } catch(err) {
    return false;
  }
}

(async function() {
  for( let num of arr ) {
    let res = await check(num);
    if(!res) {
      let index = arr.indexOf(num);
      arr.splice(index, 1);
    }
  }
})();

Опять же, кажется слишком запутанным.

1
задан Atle Kristiansen 15 January 2019 в 22:23
поделиться

1 ответ

Если ваша строка подключения настроена как обычный ключ установки приложения, например:

"MyConnection": "Server=localhost;Database=MyDb;User Id=test;Password=test;"

Затем, когда вы передаете IConfiguration .NET Core в ваш ServiceStack AppHost:

app.UseServiceStack(new AppHost
{
    AppSettings = new NetCoreAppSettings(Configuration)
});
[1111 ] Вы сможете получить его как обычную настройку приложения, например:

var myConn = AppSettings.GetString("MyConnection");

Если вместо этого вы настроите его в группе «ConnectionStrings», например:

"ConnectionStrings": {
  "DefaultConnection": "Server=localhost;Database=MyDb;User Id=test;Password=test;"
},

Тогда Вы можете получить к нему доступ из объекта IConfiguration, например:

var config = (NetCoreAppSettings) AppSettings;
var myConn = config.Configuration.GetConnectionString("DefaultConnection");

В качестве альтернативы вы также можете получить к нему доступ через обозначение иерархического ключа config , например:

var myConn = AppSettings.GetString("ConnectionStrings:DefaultConnection");
0
ответ дан mythz 15 January 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: