Я хочу разработать веб-приложение с использованием ASP.NET, работающего на IIS.
Если пользователь отправляет команду ввода MAXIMA, указанный код попросит пользовательскую службу Windows создать новый отдельный временный процесс, выполняющий внешнюю сборку.
Точнее, существует только одна служба Windows, обслуживающая всех пользователей, но каждый пользователь будет связан с отдельным временным процессом, выполняющим внешнюю сборку.
Служба Windows содержит один сокет, прослушивающий определенный порт, и список асинхронных сокетов для связи. Каждый сокет списка будет взаимодействовать с отдельным временным процессом, выполняющим внешнюю сборку, которая работает как сокет клиента.
Обратите внимание: я использую процесс, а не домен приложения, поскольку внешняя сборка представляет собой пакетный файл (не управляемая сборка).
Мои вопросы:
- Как вызвать службу Windows из кода позади?
- Как связать каждого пользователя с отдельным временным процессом?
- Как улучшить масштабируемость, если одновременно работает все больше и больше пользователей?
- Если введенная пользователем команда ввода Maxima вызывает длительный процесс, каков разумный способ уведомить пользователя о прогрессе?
Следующая ссылка предоставит вам более подробную информацию о моем проекте: https://sourceforge.net/projects/aspmaxima/forums/forum/1190702/topic/3786806
Заранее спасибо.