Вопрос

У меня есть служба WCF, на которую мне нужно ссылаться из проекта .net 2.0.

Я попытался сослаться на него, используя "добавить веб-ссылку", но он портит параметры.

Например, у меня есть метод в службе, который ожидает char[] для передачи, но когда я добавляю веб-ссылку, метод ожидает int[].

Итак, я попытался настроить svcutil и это сработало...вроде.
Я смог скомпилировать класс обслуживания, только добавив кучу .net 3.0 ссылки на мои .net 2.0 проект.Архитектору это не понравилось, поэтому мне пришлось это исправить (и, вероятно, к лучшему).

Поэтому мне было интересно, есть ли у кого-нибудь какие-либо подсказки или ресурсы о том, как я могу настроить .net 2.0 проект для ссылки на служба WCF.

Это было полезно?

Решение

Один из тех случаев, когда вам нужно отредактировать WSDL.Для начала полезный инструмент

http://codeplex.com/storm

Другие советы

Какую привязку вы используете? Думаю, если вы будете придерживаться базовой привязки Http, вы сможете создать прокси-сервер, используя подход «добавить веб-ссылку» из проекта .net 2?

Возможно, если вы опубликуете определение контракта/интерфейса, это может помочь?

Ура Ричард

Спасибо за ресурс.Это, конечно, помогло мне протестировать веб-сервис, но не сильно помогло при использовании сервиса WCF в моем приложении .net 2.0.

В конечном итоге я вернулся к архитекторам и объяснил, что dll 3.0, на которые мне нужно было сослаться, были скомпилированы обратно для работы в CLR 2.0.Нам не обязательно нравится это решение, но на данный момент мы собираемся использовать его, поскольку жизнеспособных альтернатив не так уж и много.

Я использовал привязку BasicHttp, но на самом деле проблема была в XMLSerializer.Он не распознает должным образом wsdl, созданный WCF (даже с привязками BasicHttp), для чего-либо, кроме базовых типов значений.

Мы обошли эту проблему, добавив ссылку на dll 3.0 и используя сериализатор datacontract.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top