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

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

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

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

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

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

13.08.2008 04:27:31
4 ОТВЕТА
РЕШЕНИЕ

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

http://codeplex.com/storm

2
13.08.2008 07:14:23

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

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

0
13.08.2008 10:23:06

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

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

Ура Ричард

1
21.08.2008 12:12:47

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

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

0
28.08.2008 01:32:25