Консолидация 3-х оконных сервисов, которые одинаковы, но с разными настройками строки подключения

У меня есть 3 отдельных проекта обслуживания окон, которые делают то же самое. Единственное отличие состоит в том, что каждый файл проекта имеет другую строку строки подключения в app.config. Я планирую консолидировать проект службы, чтобы сделать его более управляемым. Каков наилучший подход?

Текущий сценарий:

3 win services > executes every 6 minutes > hits 3 different databases > collects data > generates xml > sends the xml to the FTP.

Ожидаемый результат:

1 win service > executes every 6 minutes > hits 3 different databases > collects data > generates xml > sends the xml to the FTP.

1
nl ja de

1 ответы

Таким образом, все они делают то же самое, что и другие строки подключения - «легко».

В вашей конфигурации создайте новый параметр приложения в конфигурации для «схем» или что-то одно и то же, и значения будут разделены запятой, например:


    
        
    

Затем убедитесь, что у вас есть ключ для каждого из соединений в ключу установки приложения схемы


    
    
    

В вашем OnStart вы должны сделать что-то следующее: если вам нужно спать или переименовать нити, вам нужно заложить, но вы получите идею:

protected override void OnStart(string[] args)
{
    string[] schemaList = ConfigurationManager.AppSettings["schema"].Split(",".ToCharArray());

    foreach (string schema in schemaList)
    {
       //do your stuff...
    }
1
добавлено
Можете ли вы придумать какие-либо хиты производительности? Служба генерирует и отправляет 50-100 XML-файлов на FTP одним выстрелом для каждого клиента db.
добавлено автор Learner, источник
Честно говоря, нет; У меня есть что-то подобное, где я работаю, который подключается к нескольким базам данных Oracle и MSSQL, и единственное, о чем я действительно беспокоюсь, - это сервер, идущий вниз для обслуживания.
добавлено автор Brendon Bezuidenhout, источник
Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot