В настоящее время я вставляю конкретные ConfigFileSettings IConfigFileSettings в классы, которым требуется имя для строки подключения. Упрощенный код выглядит следующим образом:получение имени строки подключения в роли рабочего агента azure
public interface IConfigFileSettings
{
string GetConnectionString(string name);
}
public class ConfigFileSettings : IConfigFileSettings
{
public string GetConnectionString(string name)
{
return ConfigurationManager.ConnectionStrings[name].Name;
}
}
Это прекрасно работает для WebAPI размещенных в IIS, службы Windows и консольное приложения. Я думаю:
ConfigurationManager.ConnectionStrings[name].Name
не будет работать в рабочих ролях. Могу ли я адаптировать метод GetConnectionString, чтобы он работал во всех средах прозрачно? Кроме того, даже если я получаю имя жала соединения (например, из .cscfg файла) мой код будет выглядеть как:
<connectionStrings> ... </connectionStrings>
Я предполагаю, что я не могу просто добавить запись в файл .cscfg?
Спасибо. Однако я хочу сделать эту работу во всех средах. Я думаю, что можно использовать RoleEnvironment, чтобы определить, в какой среде я нахожусь. Правильно? – cs0815