Клиент C # для стороннего веб-сервиса: метод xxx не может быть отражен - PullRequest
0 голосов
/ 25 августа 2011

Я сгенерировал загрузку кода из набора служб с помощью wsdl.exe и хотел обмениваться типами для нескольких служб, потому что я не хотел новый прокси-класс для каждой службы.Итак, я хотел получить хороший унифицированный доступ к каждому сервису, поэтому взломал сгенерированный код и написал абстрактный класс BaseService, производный от SoapHttpClientProtocol, и вручную изменил каждый класс на производный от BaseService, а не на каждый сервис, производный от SoapHttpClientProtocol.База имеет защищенный конструктор и защищенное строковое поле AddressRelative.

Все прокси-классы вызывают базовый конструктор и больше ничего не делают при построении, а также переопределяют поле с конкретным расширением адреса, в котором расположены их службы.Службы расположены таким образом, что все они имеют общий URL-адрес, поэтому AddressRelative гарантирует, что все прокси-серверы знают свой собственный URL-адрес.

Я получаю странную ошибку при попытке создать прокси-объект одного из классов - я получаю исключение при входе в конструктор BaseService.InnerException исключения - метод xxx, не может быть отражен.Метод вызывает службу по рефлексии, но зачем бросать на строительство, строительство базы ?!Есть идеи?

1 Ответ

0 голосов
/ 25 августа 2011

Здесь есть похожий вопрос: Метод 'XYZ' не может быть отражен

Может, один из этих ответов поможет?

...