У меня есть два сервера SSRS с идентичными конфигурациями. Ну, собственно, три. Назовем их:
- Сервер отчетов A
- Сервер отчетов A-test
- Сервер отчетов B
Теперь я могу легко переключаться между A и A-тестом в зависимости от того, нахожусь ли я в тестовом или производственном режиме, используя преобразование web.config. Так что это нормально.
Однако во время выполнения я хотел бы иметь возможность переключаться между отправкой вызовов на сервер A и B.
Я потенциально мог бы сделать это, создав два разных объекта ReportingService2010: один с пространством имен com.company.serverA, а другой - с пространством имен com.company.serverB. Для этого потребуется много условных операторов, но это можно сделать.
Я бы хотел иметь возможность использовать полиморфизм и передавать моему классу ReportCopier различные объекты ReportingService2010, но они недостаточно тесно связаны. Компилятор рассматривает их как совершенно отдельные объекты.
Есть ли способ обойти это? Есть ли способ динамически изменить URL-адрес, на который указывает объект ReportingService2010 во время выполнения? Есть ли способ как-то справиться с обоими типами объектов, используя отражение?
На данный момент единственные решения, которые у меня есть: 1) реализовать классы-оболочки для всех объектов, что кажется утомительным, или 2) использовать две копии класса ReportCopier с изменением только пространства имен между ними, что некрасиво.
Мысли?