2012-05-16 3 views
0

Я хочу, чтобы один поток бизнес-процесса выполнялся непрерывно в .net. Для чего я могу думать о том, чтобы сделать сервис окна, который будет работать непрерывно. Если эта служба не работает, я хочу, чтобы веб-администратор контролировал администратора.Countinuous Running Business Process

Проблема 1: Если эта служба не работает, как я могу проверить это с помощью веб-приложения (я могу проверить с помощью команды SC с помощью командной строки, но как переместить ее в веб-среду).

Проблема 2: Я думаю о том, чтобы сделать сервис непрерывным, используя while (true) loop. Это правильный способ решения этой проблемы.

Проблема 3: Как я могу убедиться, что только один экземпляр запускается вовремя?

ответ

0

Задача 1: см here

Проблема 2: Не отличная идея. Что делает служба? Обычно он запускает событие, такое как Watcher файловой системы, или некоторое время спят, и пробуждается для выполнения необходимых задач.

Задача 3: Служба Windows не похожа на другие исполняемые файлы, поскольку только одна копия этой услуги будет установлена ​​только при ее установке. Вы начинаете и останавливаете его по мере необходимости.

+0

hi bukko вы решили мою первую проблему. ya для второй проблемы да ее наблюдатель, но ее не наблюдатель файловой системы, но наблюдатель базы данных. Я хочу прочитать файл, как только он будет обновлен в базе данных. но в то же время я не хочу обрабатывать больше одного файла, так как данные в файлах находятся в инкрементальном порядке, поэтому какой подход должен я следовать. –

+0

Кажется, что вам нужен триггер в базе данных, или если он не должен быть мгновенным, может быть, служба на основе таймера. Может ли ваша логика быть встроена в базу данных? Если нет, используете ли вы SQL Server? Возможно, вы могли бы вызвать функцию в сборке из триггера. – CompanyDroneFromSector7G

+0

Как я могу гарантировать, что только после обработки первого файла я поеду на другой (поскольку данные являются инкрементальными)? если я обновляю блокировку где-то, что im в настоящее время читает какой-то файл и не смог обновить эту блокировку, в этом случае он создаст проблему ... если бы я использовал таймер, мне нужно будет убедиться, что я закончу свою предыдущую задачу в течение этого срока –

0

Проблема 1: Почему бы просто не использовать обработку исключений для выпалить по электронной почте, или запись в файл XML, который можно трансформировать с помощью XSLT

Задача 2: Служба может запустить приложение через каждые 30 минут. Что вы имеете в виду, если служба постоянно работает, для чего предназначена услуга?

Проблема 3: Вы можете поставить проверить в коде, чтобы проверить, есть ли другой экземпляр запущен, см Синглтон рисунка на

+0

hi burt моя проблема в том, что я должен ответить как можно быстрее. поэтому мне нужно иметь что-то, что будет либо контролировать, либо слушать и выполнять действия в течение нескольких секунд, поэтому я держу его в непрерывном цикле. Не могли бы вы рассказать мне, где я могу искать одиночный шаблон, поскольку я должен обрабатывать файлы один за другим, данные в файлах находятся в инкрементальном порядке ... Спасибо :) –

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