Я пытаюсь создать кучу микросервисов с состоянием, написанных на .NET Core 2.1.Это не приложения ASP.NET, не http-интерфейс, а скорее разработанные как консольные приложения, которые потребляют сообщения от служебной шины.
У меня двойка времени, пытаясьвыяснить, как ссылаться на мой файл appsettings.json в сервисных пакетах.Есть куча статей, связанных с использованием файла appsettings.json в приложении сервисной фабрики ASP.NET (в основном это объясняется в конструкторе веб-хостов), но это не применимо для меня, поскольку я не использую ASP.NET.
У меня есть один файл appsettings.json, который должны быть в состоянии использовать все микросервисы в этом приложении.
Я также нашел эту статью В состав Service Fabric включены дополнительные файлы , в которых говорится опоместив его в цель sfproj для MSBuild, но, похоже, нет никакой информации о том, как выглядит файловая структура на конце цели.
То, что я пытался сделать, это добавить цели в мой файл sfproj следующим образом:
<Target Name="AfterPackage" AfterTargets="Package">
<Copy SourceFiles="appsettings.json" DestinationFolder="$(PackageLocation)\appsettings.json" />
</Target>
и затем в моем сервисе я бы попытался создать экземпляр объекта IConfiguration
на основе ..\appsettings.json
, но, как можно догадаться, сервис при попытке публикации выдает исключение FileNotFoundExceptionищем файл appsettings.json, поэтому файл явно находится в другом месте по сравнению с микросервисом.(Конечно, ошибка публикации просто говорит, что возникла проблема, и откатывается, вам нужно покопаться в SF Explorer, чтобы увидеть это сообщение)
Как должна выглядеть эта конфигурация?Я не могу найти какую-либо документацию, описывающую, как выглядит файловая система микросервиса с отслеживанием состояния, я не знаю, куда мне помещать этот общий файл или как службы должны получать доступ к файлу.Была бы признательна за помощь.