WCF 4.0, клиент .NET 2.0 и типы .NET - PullRequest
2 голосов
/ 28 февраля 2011

Это мой сценарий:

  • Служба WCF 4.0
  • .NET 2.0 клиент (который использует вышеуказанную услугу)

Мне нужно, скажем, передать массив NetworkInterfaces (System.Net.NetworkInformation.NetworkInterfaces) от клиента к сервису. На стороне клиента добавлена ​​веб-ссылка wcfReference на службу WCF.

Сервисный код:

public void StoreNetworkInterfaces(System.Net.NetworkInterfaces[] nwInterfaces)
{
...
}

Код клиента:

wcfService.StoreNetworkInterfaces(System.Net.NetworkInformation.NetworkInterfaces.GetAllNetworkInterfaces());

Я получаю:

Argument 1: cannot convert from 'System.Net.NetworkInformation.NetworkInterface[]' to 'WindowsFormsApplication1.wcfReference.NetworkInterface[]'

То же самое происходит для любых других типов (.NET и не .NET типов). Я знаю, что это желаемое поведение для веб-службы (взаимодействия), но область действия моего WCF просто служит установщику клиента.

Изменение прокси-кода вручную после каждого обновления веб-ссылки определенно не является хорошим выбором для этого проекта.

Буду очень признателен за любую помощь или предложение.

Greets

1 Ответ

2 голосов
/ 28 февраля 2011

Веб-ссылка (в стиле 2.0) не имеет опции «повторного использования типов», которую поддерживает полная сервисная ссылка WCF (3.0+), поэтому если вы используете инструмент , вынам придется принимать типы прокси по проводам, а затем преобразовывать их (возможно, AutoMapper) в / из типов доменов.

Не редактировать эталонный файл;которые могут быть восстановлены случайно.

...