У меня есть проект winforms vb.net 2.0, который полон всевозможных бизнес-отчетов (сгенерированных с помощью вызовов взаимодействия с Excel), которые можно запускать «по требованию». Некоторые из этих отчетов фильтруют большое количество данных и занимают много времени, особенно на наших старых компьютерах в офисе.
Я хотел бы иметь систему, в которой запрос отчета может быть сделан с клиентских машин, какой-то слушатель видит его, находит сервер с низкой нагрузкой, запускает отчет на этом сервере и отправляет результат пользователю, который его запросил. .
Как я могу спроектировать такое изменение? Все наши отчеты принимают разные параметры, и я не могу понять, как с этим бороться. Должен ли каждый генератор наследоваться от класса RemoteReport, который делает это? Нужно ли мне использовать службу на одном из наших серверов для прослушивания этих запросов?