Итак, у меня возникла эта проблема, когда у меня есть приложение ASP.NET Core, которое, кажется, работает нормально, когда просто выполняю dotnet program.dll
. Оно считывает значения, которые должны из appsettings.json.очевидные причины, однако, это невозможно в производственной среде, где несколько таких служб должны работать рядом, каждый со своим собственным файлом systemd * .service.Таким образом,переменные средысделать это следующим образом:
- Сбросить строку подключения:
connstr=$(systemd-escape 'Server=tcp:something.database.windows.net,1433;Initial Catalog=some-database;Persist Security Info=False;User ID=some_database_user;Password=$pec!al#OfCh@rs;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;')
скопируйте значение echo $connstr
в Environment=SQLCONNSTR_SqlServer={right-here-no-brackets}
запустите службу: sudo systemctl start <servicename>
, но этовыдает сообщение об ошибке:
Failed to start bygbook-test.service: Unit bygbook-test.service is not loaded properly: Invalid argument.
See system logs and 'systemctl status bygbook-test.service' for details.
при проверке журнала: sudo journalctl -u <servicename>
Я замечаю это исключение:
Unhandled Exception: System.ArgumentException: Keyword not supported: ''server'.
Iчестно говоря, понятия не имею, что здесь происходит, я не делаю это так, как это должно быть сделано?я что-то забыл?