Я создаю DLL, назовем ее mydll.dll , и в ней мне иногда нужно вызывать методы из веб-сервиса, myservice . mydll.dll построен с использованием C # и .NET 3.5.
Чтобы использовать myservice из mydll Я добавил службу в Visual Studio 2008, которая более или менее аналогична использованию svcutil.exe . Это создает класс, который я могу создать, и добавляет конфигурации конечной точки и привязок в mydll app.config.
Проблема в том, что mydll app.config никогда не загружается. Вместо этого загружается app.config или web.config программы, которую я использую mydll in.
Я ожидаю, что mydll будет развиваться, поэтому для начала я отделил его функциональность от остальной части моей системы. В ходе этой эволюции он, скорее всего, добавит больше веб-сервисов, к которым он будет обращаться, исключая ручные способы копирования-вставки для решения этой проблемы.
Я рассмотрел несколько возможных подходов к решению этой проблемы:
- Вручную скопируйте конечные точки и привязки из mydell app.config в целевой EXE или веб-файл .config.
Соединяет модули, не гибкие
- Включить конечные точки и привязки из mydll app.config в целевой .config, используя configSource (см. здесь ).
Также добавьте связь между модулями
- Программно загрузить mydll app.config, прочитать конечные точки и привязки и создать экземпляр Binding и EndpointAddress.
- Используйте другой инструмент для создания локального интерфейса для myservice
Я не уверен, куда идти. Вариант 3 звучит многообещающе, но, как выясняется, это много работы и, вероятно, внесет несколько ошибок, поэтому он сомнительно окупается. Я также не знаком ни с каким инструментом, кроме канонического svcutil.exe.
Пожалуйста, укажите плюсы и минусы вышеупомянутой альтернативы, дайте советы по реализации любого из них или предложите другие подходы.
Спасибо
Асаф