Я работаю над периодически повторяющимся процессом, который в некоторых случаях будет развертываться OnPrem, а в других — в облаке (Azure). Я изучаю службу Windows и веб-задание Azure. Учитывая, что мне нужен только повторяющийся процесс, чтобы быть синхронизированным, я думаю о том, чтобы основная часть логики была в библиотеке с разными точками входа между службой Windows для локального развертывания или веб-заданием при развертывании в Azure. . Каждый csproj (служба и веб-задание) будет обрабатывать только временной цикл и параметры конфигурации, а затем обращаться к библиотеке для основной части работы.
Мой вопрос: есть ли другая доступная мне комбинация дизайна, которая потенциально лучше удовлетворяла бы этим требованиям? Я читал об обертывании существующей службы Windows в WebJob, но я не думаю, что в этом случае это будет необходимо, учитывая, что я начинаю с нуля.
Когда дело доходит до обновления вашего общего кода и знания того, какие версии используются какими приложениями, лучшим решением является создание проекта библиотеки классов с уважаемым шаблоном проектирования и преобразование его в проект nuget.
вы знаете, что можете разместить свой собственный частный репозиторий NuGet, создать свои собственные пакеты и разместить их внутри своей собственной сети.
Вот очень хорошая статья «Как создать пакет Nuget из вашего проекта библиотеки классов». Вы можете использовать его и делиться им со всем своим кодом.
И, наконец, вы можете просто вызвать его из службы Windows/веб-задания.
Дайте мне знать, если вам нужна помощь, связанная с разработкой решения.
Надеюсь, поможет.
Да, я полностью согласен с этим. Пожалуйста, примите это как ответ, так как это поможет другим, у кого есть такой же вопрос. Также дайте мне знать, если вам нужна дополнительная помощь с дизайном.
Похоже, вы согласны с моим подходом к добавлению общей библиотеки кода в пакет NuGet, что вполне логично. Спасибо!