Использование не примитивных типов в ServiceOperation для службы данных WCF (3.5SP1) - PullRequest
3 голосов
/ 14 апреля 2010

Можно ли вообще создать тип "фиктивного" объекта для использования в операции сервиса WCF?

У нас есть несколько запросов, которые мы должны оптимизировать, представив их как ServiceOperation. Проблема в том, чтобы сделать это, мы бы получили очень длинный список примитивных типов ...

Ex

  SomeoneHelpMe(int time, string name, string address, string i, string purple, string foo, int stillGoing, int tooMany, etc...)

И нам действительно нужно уменьшить это до

 SomeoneHelpedMe(CustomEntityNotMappedToAnything e)

Это также поможет нам, когда придет время написать несколько сложных запросов, поскольку существует ограничение в 3 параметра ...

Я видел, что это будет возможно в 4.0 с использованием "сложных типов", но я все еще в мире 3.5SP1.

Дайте мне знать, если кому-то понадобится дополнительная информация.

Так что это невозможно в версии 3.5 или 4.0! Официально это нет!

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/771587aa-0822-4991-8a3f-0091de044b5c

Ответы [ 2 ]

1 голос
/ 20 апреля 2010

В настоящее время нет способа сделать это - как в 3.5SP1, так и в 4.0. В качестве параметров для сервисных операций поддерживаются только примитивные типы.

Используйте следующую ссылку, чтобы добавить это как запрос функции: https://connect.microsoft.com/data/SearchResults.aspx?SearchQuery=WCF%2bData%2bServices. Вам необходимо войти в систему, и затем вы увидите список ошибок / функций, о которых было сообщено извне. Вы можете добавить новый запрос функции или проголосовать за существующий запрос функции.

Спасибо Pratik

0 голосов
/ 23 мая 2012

Сайт MSDN предлагает сериализовать сложный тип.

"Любые данные не примитивного типа должны быть сериализованы и переданы в строковый параметр." - http://msdn.microsoft.com/en-us/library/cc668788.aspx

...