Ссылка на службу WCF не использует типы повторно в существующих сборках (ПО СРАВНЕНИЮ с 2010 Beta 2)

StackOverflow https://stackoverflow.com/questions/2066343

  •  20-09-2019
  •  | 
  •  

Вопрос

Я ищу наилучший подход к совместному использованию типов (фактических классов, а не прокси) между службой WCF и клиентом.С этой целью я определил классы в отдельной сборке, на которые ссылаются как сервис, так и клиент.Я выбрал "Типы повторного использования во всех ссылочных сборках" при создании ссылки на службу в клиенте, но References.cs генерируется с прокси для всех классов.

Это точно такой же вопрос, как этот, но я не знаю, как реализовать принятое решение.Одно из отличий заключается в том, что я использую VS 2010 Beta 2.

импортируйте полный контракт на обслуживание в виде кода

или

создайте свой собственный класс, производный от клиентской базы.Это действительно очень просто

Предполагая, что это лучший подход, я был бы признателен за хорошую ссылку, которая описывает, как это сделать.Является ли подход, изложенный в связанном ответе, лучшим?

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

Решение

Я сделал две вещи на одном этапе.Не уверен, что один или оба решили проблему:

  1. Добавлен [DataContract(Namespace="My.Shared.Assemblys.Namespace")] в один классов в общей сборке.
  2. Перезапущен VS 2010 Beta 2.

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

Была такая же проблема, но я забыл собрать сборку с DataContracts для клиента, и, таким образом, он генерировал свои собственные контракты.Как только я перестроил сборку - она использовала их повторно.

Моя проблема с VS2010 SP1 заключалась в попытке использовать класс, полученный из Dictionary<T,U> с CollectionDataContract атрибут.Кажется, VS не будет повторно использовать тип...Я также попробовал предложение Эрика выше, но оно не сработало.

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