2012-01-26 5 views
0

Я работаю над функциональностью, которая будет генерировать около 2000 листов Excel. Процесс будет принимать входные данные из веб-приложения с интерфейсом. Я не хочу, чтобы мое веб-приложение дождалось завершения процесса создания файлов excel. Я должен написать консольное приложение и запустить его через веб-приложение или веб-службу? Какой лучший способ реализации? Спасибо, RohitКонсольное приложение или WebService

+0

Почему бы не сделать это асинхронно - отпустите его на фоновом потоке. – Tim

+0

Мне не очень нравятся темы. Если пользователь закроет браузер после запуска процесса, будет ли он продолжаться в потоке? – RRForUI

+0

Я не совсем уверен, но может и не так. В этом случае вам может понадобиться посмотреть веб-службу, но я буду осторожен в создании веб-сервиса, который значительно длится в процессе работы. Возможно, вам лучше взглянуть на другие способы сделать это - возможно, поместить данные в базу данных и иметь работу или пакет SSIS, чтобы начать работу на основе данных. Еще одна идея рассмотреть. – Tim

ответ

0

Я хотел бы предложить хранение первенствовать-ген в качестве задачи в базе данных, то есть работает в фоновом режиме работает постоянно, проверяя, что очереди задач, ее обработки (создание таблицы), а затем, наконец, обновление записей работу, как сделать , Ваше приложение asp.net может, в свою очередь, помимо создания записей о работе, просто проверять статус периодически или на странице обновления.

+0

Процесс генерации excel выполняется только один раз в квартал. Это ручной процесс прямо сейчас. Запуск службы будет постоянно замедлять работу сервера, так как на этом сервере также существует другое приложение. – RRForUI

+0

Затем вручную запускайте инструмент, который генерирует эти файлы каждые 3 месяца - я не знаю, что вам сказать. Ближе всего вы сможете автоматизировать этот двойной щелчок, возможно, планируя его (например, используя планировщик задач). Нет долговременной задачи, идеально подходящей для приложения asp.net, особенно когда пул приложений остается по умолчанию, связанный с приложением-перезагрузкой/сбросом. BTW, сервис, который выполняет минимальную работу, 100% времени даже не будет замечен на достойном сервере, поскольку касается времени процессора, которое он потребляет (также это ваш единственный сервер?). –

Смежные вопросы