2012-06-12 3 views
0

Сценарий:окна обслуживания: Чтение с разных серверов с различными настройками

  • чтения файлов с разных серверов. Каждый сервер предоставляет файлы с различными форматами , расширение и данные.
  • Процесс чтения периодически отличается для каждого сервера (за минуту, час, еженедельно, ежемесячно).
  • Для настройки конфигурации, связанной с «Формат файла», «Расширение файла», «Учетные данные сервера», должен быть файл конфигурации (или что-то еще).

Моя реализация:

Я написал заявление, чтобы прочитать эти различные файлы в зависимости от конфигурации набора следующим образом:

interface IServer 
{ 
    // Common implementation 
} 

[ServerPath("anyLocation")] 
[FileDelimiter(",")] 
[FileSearchPattern("*.txt")] 
class Server2 : IServer 
{ 
    // Specific implementation 
} 

[ServerPath("anyLocation")] 
[FileDelimiter("|")] 
[FileSearchPattern("*.csv")] 
class Server1 : IServer 
{ 
    // Specific implementation 
} 

Вопросы:

  • Должен ли я использовать службу Windows для запуска этого приложения?
  • Параметры, которые я установил как атрибуты, должны существовать в качестве настроек, доступных пользователю, как это сделать?
  • Самое главное, что я не знаю, должен ли я использовать отдельную услугу для каждого сервера, принимая во внимание, что время чтения может мешать (что происходит в этом случае?). Я по-прежнему предпочитаю иметь одну услугу.

ответ

1

Я не создавал бы службу Windows для такого рода проблем.

Создайте простое консольное приложение, которое принимает параметр линии commend, чтобы указать желаемую цель (сервер) и прочитать соответствующую конфигурацию из простого App.config вместо жесткого кодирования в ваше приложение.

Запустите консольное приложение, использующее запланированные задачи - это даст вам точное управление планированием, встроенное отслеживание и отслеживание ошибок без какого-либо дополнительного кода.

+0

thanx для вашего ответа. Мне известны настройки, которые должны быть установлены в файле конфигурации, но я обеспокоен тем, что процесс чтения должен выполняться автоматически в зависимости от настроек. Служба Windows, запланированное задание или другая автоматизированная техника. и по другим причинам мы не использовали SSIS. – Boomer

+0

SSIS звучало как идеальное решение для этого. Во всяком случае, я бы не рекомендовал создавать службу Windows ... если вам действительно не нужно обрабатывать сотни разных источников. Если вам нужно решение корпоративного класса, вы также можете посмотреть сервер MS BizTalk. Его архитектура в основном такая же, как и ваша запланированная служба. [BlueIntergrator] (http://blueintegrator.com/) может быть недорогой альтернативой. – Filburt

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