Как установить специфические свойства среды в C #? - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть проект, в котором я хочу хранить свои данные в разных таблицах на основе разных сред, которые можно настроить с помощью 'npm config set true'

Например, я хочу записать свои данные в Table1_Dev в среде Dev и в Table1_Prod в среде prod.

Я хочу определить свои свойства конфигурации для каждой среды в файле конфигурации, а затем прочитать его в соответствии со средой в моем коде c #.

Я могу легко сделать это в Typescript, но не могу найти хороший способ сделать это в C #. Не могли бы вы помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Вы можете сделать это в файле web.config следующим образом:

 <appSettings>
    <add key="" value="" />
</appSettings>

Тогда вы можете сослаться на это ваш код.

Далее вы можете настроить профили публикации для перезаписи ключа для каждой среды.

Затем необходимо добавить перезапись .config для только что созданного профиля.

В перезаписи .config вы можете сделать это

  <appSettings>
    <add key="" value="" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" /> 
</appSettings>

https://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx

0 голосов
/ 27 апреля 2018

Table1_Dev в среде разработки и в Table1_Prod в среде разработки.

Это неправильно, скорее вы должны иметь отдельный экземпляр БД для другой среды и нацеливать их.

Вы можете определить отдельный файл конфигурации XML или JSON, например Configuration_DEV.json. Есть ли у вас особые свойства окружающей среды? В вашем коде прочитайте файл json и соответственно десериализуйте в класс настроек.

Пример Configuration_DEV.json

{
  "DevSettings": {
    "DBConnectionString": "some value",
    "DatabaseName": "DevDB"
  }
}

Вы можете определить класс как

public class DevSettings
{
  public string DBConnectionString { get; set; }
  public string DatabaseName { get; set; }
}
...