Лучше разбить вещи на отдельные приложения, и здесь тоже так. Если вам нужен только один экземпляр вашей размещенной службы, вы должны разбить его на отдельный проект и развернуть один его экземпляр. Если вы развернете его внутри своего приложения, для каждого экземпляра будет экземпляр; нет никакого способа обойти это, см. этот поток .
В случае с размещенными службами существует экземпляр этой размещенной службы для каждого развертывания вашего веб-сайта, что может быть проблемой, если вы только хочу, чтобы один экземпляр этого «процесса» работал в любое время. Вы можете программировать вокруг этого, создавая свой собственный механизм блокировки, но, очевидно, webjobs получает это из коробки. Таким образом, вы можете использовать webjob, работающий как синглтон , чтобы достичь того, чего вы хотите. См. Статью о размещенных службах в ASP. NET Core .