У меня есть проблема. Мой босс настроил тестовый веб-сервис SOAP, который он хочет использовать в нашем API.
Первоначально у нас был только один, так что это было достаточно просто.
Теперь у нас их два, и они находятся на разных конечных точках, поэтому я создал 2 веб-ссылки, которые выглядят так:
http://ssd -001 / tradeportal / webservices.asmx? * 1006 WSDL *
http://ssd -001 / testtradeportal / webservices.asmx? * 1011 WSDL *
Мы используем autofac, и я смог зарегистрировать сервис следующим образом:
builder.RegisterType<webServices>().As<webServices>().InstancePerDependency();
Я собирался создать фабричный класс для переключения между ними, но проблема у меня заключается в том, что, хотя они оба являются классом webServices
, они находятся в разных пространствах имен и не имеют интерфейса или чего-либо еще.
Единственное, что я смог найти, было то, что они оба наследовали от System.Web.Services.Protocols.SoapHttpClientProtocol
, но при регистрации это потеряло бы любой публичный метод, который мне нужен.
Кто-нибудь знает или может придумать какие-либо предложения, которые могут помочь мне обойти эту проблему?
По сути, я хочу, чтобы один класс переключался между двумя в зависимости от того, живы мы или нет, у нас в настоящее время есть флаг в файле конфигурации для этого.