Проблема:
Я запускаю приложение ядра .net на Raspberry PI.Я загружаю конфигурацию из файла JSON и сохраняю в классе для справки в приложении - в данном случае это размещенная служба.Если я запускаю приложение вручную, а затем обновляю файл конфигурации, изменения отражаются в приложении.Однако, если я установил приложение на автоматический запуск при загрузке, а затем изменил файл конфигурации, приложение не использует обновленный конфиг.
Я попытался запустить приложение через запись в rc.local и в качестве службыиспользуя systemd.Опять же, пока приложение запускается и запускается любым способом, оно не принимает изменения конфигурации.
Сведения о системе:
- .Net Core 2.1
- Сборка ОС: Raspbian 4.14.52-v7 + # 1123
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Register Hosted Services
services.AddOptions();
services.AddSingleton<IHostedService, MonitorService>();
services.Configure<AppSettings (Configuration.GetSection("AppSettings"));
services.AddMvc();
}
Конструктор служб
public MonitorService(IOptionsMonitor<AppSettings> appSettings)
{
this.AppSettings = appSettings;
}
rc.local
#!/bin/sh -e
sudo /home/pi/App/MonitorApp &
exit 0
MonitorApp.service
[Unit]
Description=My Sample Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/home/pi/App/MonitorApp
User=pi
[Install]
WantedBy=multi-user.target