Способы использования единой базы кода между службой Windows и веб-заданием Azure

Я работаю над периодически повторяющимся процессом, который в некоторых случаях будет развертываться OnPrem, а в других — в облаке (Azure). Я изучаю службу Windows и веб-задание Azure. Учитывая, что мне нужен только повторяющийся процесс, чтобы быть синхронизированным, я думаю о том, чтобы основная часть логики была в библиотеке с разными точками входа между службой Windows для локального развертывания или веб-заданием при развертывании в Azure. . Каждый csproj (служба и веб-задание) будет обрабатывать только временной цикл и параметры конфигурации, а затем обращаться к библиотеке для основной части работы.

Мой вопрос: есть ли другая доступная мне комбинация дизайна, которая потенциально лучше удовлетворяла бы этим требованиям? Я читал об обертывании существующей службы Windows в WebJob, но я не думаю, что в этом случае это будет необходимо, учитывая, что я начинаю с нуля.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда дело доходит до обновления вашего общего кода и знания того, какие версии используются какими приложениями, лучшим решением является создание проекта библиотеки классов с уважаемым шаблоном проектирования и преобразование его в проект nuget.

вы знаете, что можете разместить свой собственный частный репозиторий NuGet, создать свои собственные пакеты и разместить их внутри своей собственной сети.

Вот очень хорошая статья «Как создать пакет Nuget из вашего проекта библиотеки классов». Вы можете использовать его и делиться им со всем своим кодом.

И, наконец, вы можете просто вызвать его из службы Windows/веб-задания.

Дайте мне знать, если вам нужна помощь, связанная с разработкой решения.

Надеюсь, поможет.

Похоже, вы согласны с моим подходом к добавлению общей библиотеки кода в пакет NuGet, что вполне логично. Спасибо!

Jason 09.04.2019 18:11

Да, я полностью согласен с этим. Пожалуйста, примите это как ответ, так как это поможет другим, у кого есть такой же вопрос. Также дайте мне знать, если вам нужна дополнительная помощь с дизайном.

Mohit Verma 09.04.2019 18:26

Другие вопросы по теме