Проблема обратной совместимости WCF

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

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

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

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

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


person lomaxx    schedule 13.08.2008    source источник


Ответы (4)


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

http://codeplex.com/storm

person Community    schedule 13.08.2008

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

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

Привет Ричард

person Community    schedule 21.08.2008

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

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

person lomaxx    schedule 13.08.2008

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

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

person lomaxx    schedule 28.08.2008