2012-01-11 3 views
0

Я разрабатываю веб-сайт в ASP.NET и C#, в котором я выполняю следующую задачу.Как автоматизировать процесс в C# .net для искателя?

Существует таблица List_of_Site, которая содержит список сайтов, подлежащих обходу. И еще одна таблицы Site1_Links который содержит просканированные данные, такие как ссылки, содержание и т.д.

Я кодированные программы в C# asp.net, в котором я имею форму Home.aspx в визуальной студии и есть с именем Crawl. Всякий раз, когда я нажимаю кнопку, он выбирает сайты из таблицы List_of_Site один за другим, а затем сканирует их для новых доступных ссылок и сохраняет их соответственно на Site1_Links table.

Но для этого мне нужно каждый раз нажимать кнопку, но я хочу что-то, что может автоматизировать процесс в течение некоторого интервала времени. X минут.

Просьба предложить способ?

+0

Также - что вы пытаетесь проползти? Это законно? – RQDQ

ответ

3

Вы не хотите, веб-приложения ASP.NET для этого. Веб-приложения представляют собой системы пассивного запроса/ответа. Они поджидали просьбу, отвечали на нее и возвращались к ожиданию. Не подходит для запланированных фоновых задач.

В общем, у вас есть два простых варианта:

  1. Консольное приложение (запустить планировщиком)
  2. услугу для Windows

Консольное приложение исторически легче писать и отлаживать , И я считаю, что Windows по-прежнему поставляется вместе с планировщиком задач, который может запускать исполняемый файл по установленному расписанию. Обычно я предпочитаю этот подход. Однако есть компромиссы. Я не думаю, что он запустится, если кто-то не войдет в систему на машине, например.

Служба Windows обычно лучше подходит для выполнения этой задачи, но, как правило, немного сложнее писать и поддерживать для обычного пользователя. Тем не менее, он имеет то преимущество, что он не загромождает пользовательский интерфейс (без черного оконного окна при его запуске) и не нужно, чтобы кто-то вошел в систему на рабочей станции для запуска.

+0

Спасибо, но можете ли вы посоветовать мне для Windows Service? – ItsLockedOut

+0

@iKunu: MSDN имеет хорошую отправную точку: http://msdn.microsoft.com/en-us/library/zt39148a.aspx – David

0

Попробуйте подключить таймер до вашей кнопки. Вероятно, вы захотите, чтобы что-то заставило его остановиться. Вот хороший учебник по использованию указанного таймера.

http://msdn.microsoft.com/en-us/library/bb386404.aspx

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