У меня есть проект asp.net, который создается с использованием многоуровневой архитектуры (Presentation, Business and Data Access layer). Теперь мне нужно добавить службу Windows в проект, который будет выполнять фоновый процесс. Пользователь может выйти с сайта, но служба будет работать в фоновом режиме. Это может занять несколько часов, чтобы закончить его задачу. У меня есть следующие вопросы.Служба Windows как Service Layer в многоуровневой архитектуре
Можно ли включить эту службу Windows в отдельный проект в мое веб-приложение asp.net? Если да, то где он должен быть добавлен? Эта служба Windows может звонить из уровня Business. И служба будет взаимодействовать с базой данных. Я могу добавить его как отдельный уровень сервиса?
Как я уже сказал, служба Windows будет работать в фоновом режиме, поэтому я могу создать поток внутри события OnStart для службы Windows для выполнения операции. Я прав? Я знаю, что это не очень хорошая практика для написания долгого процесса в событии OnStart. Вот почему я использую потоки. Но если другой пользователь войдет на сайт, служба снова вызовет и создаст новый рабочий поток. Есть ли проблема с производительностью в этом подходе?
Спасибо.