DataTable не принимается svcutil - Служба WCF - PullRequest
0 голосов
/ 21 апреля 2011

У меня очень странная проблема с моим прокси-клиентом WCF Service, сгенерированным "svcutil.exe". Моя служба WCF работает очень хорошо, если у меня нет функции, которая возвращает DataTable. Как только я добавляю метод, который возвращает DataTable, клиент, сгенерированный svcutil.exe, ведет себя очень странно. Интерфейс больше не найден, и клиент не может вызвать службу. Но если я добавлю в качестве справочника услуг, он работает очень гладко. Я знаю, что не очень хорошая привычка использовать DataTable в качестве возвращаемого типа, но мне нужно. Я не могу использовать Справочник по сервису :-( Любая идея, почему она ведет себя или чего мне не хватает !!!

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

Посмотрите на класс DataTableSurrogate .Он используется SyncFramework для сериализации и действительно прост в использовании. MSDN DataTableSurrogate

1 голос
/ 20 ноября 2012

На самом деле вам не следует сериализовать наборы данных, вместо этого вы должны использовать модели данных и сохранять все, что связано с наборами данных, таблицами, программами чтения и т. Д., На своем бэкэнде и на бизнес-уровне.Для этого вам нужно добавить следующее «include» в svcutil, которое вызывает вашу проблему.(Указывает повторно использовать типы, определенные в System.Data.dll, а не создавать их в прокси)

/r:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll
...