Проблема при возврате набора данных через службу WCF - PullRequest
4 голосов
/ 09 февраля 2012

Я столкнулся со странной проблемой при возврате набора данных через службу WCF (WSHttpBinding). Я объясняю сенарио ниже:

  1. У меня есть Businesslayer, внутри находится папка 'Demo', которая содержит файл класса demo.cs, который содержит переменную для конкретной таблицы.

  2. Далее у меня есть Datalayer, внутри папка 'Demo', также содержит файл класса demo.cs, который содержит все функции и методы, связанные с базой данных.

  3. Далее я создал службу WCF, которая содержит интерфейс (Idemo.cs), который определен как [ServiceContract], а все сигнатуры для методов определены с использованием OperationContract.

  4. В классе WCFService.cs у меня есть все методы, которые должны вызываться из GUI.

  5. Наконец, я создал прокси для службы в Приложении, используя 'svcutil'.

ВЫПУСК / ПРОБЛЕМА:

Все остальные сервисы возвращают объект списка, который работает отлично, но в демонстрационном случае он возвращает набор данных. В случае набора данных созданный сервис (в appCode) сильно отличается от других списков, возвращающих классы. Все остальные сервисы вызываются с использованием структуры, такой как «Businesslayer.demo.demolist objdemo» но в этом случае эта структура показывает ошибку и исключает структуру 'demo objdemo'

Сейчас я не могу объяснить, могу ли я объяснить свою проблему, но будет очень полезно, если кто-нибудь отправит мне демонстрационное приложение с тем же senario, возвращая набор данных через службу WCF.

1 Ответ

1 голос
/ 09 февраля 2012
  1. Не возвращать DataSet из сервисной операции .

Чтобы понять почему: http://www.hanselman.com/blog/ReturningDataSetsFromWebServicesIsTheSpawnOfSatanAndRepresentsAllThatIsTrulyEvilInTheWorld.aspx

...