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