Вы не можете передать фактические пользовательские объекты, но вы, конечно, можете передать их сериализованную версию через ваш сервис и на свою страницу, в javascript и т. Д. По сути, вам необходимо сопоставить поля вашего сложного пользовательского .NET. типы к классам, украшенным атрибутом DataContract. Эти классы являются типами, которые возвратит ваш сервис. Классы, оформленные в DataContract, будут содержать поля с примитивными типами, такими как строки, целые числа и т. Д. Служба WCF преобразует их в XML или JSON.
На стороне клиента jQuery будет вашим лучшим другом. Я лично предпочитаю JSON, потому что свойства ваших объектов гораздо проще получить таким образом, вместо того, чтобы иметь дело с анализом множества XML. Итак, настройте свой сервис для вывода JSON.
Кроме того, чтобы облегчить чтение URL-адресов ваших служб, обязательно используйте подход RESTful. Это так же просто, как украсить ваши методы обслуживания с помощью атрибута WebGet и предоставить UriTemplate. Как только вы увидите несколько примеров, это поразит вас. Примечание: если вы когда-либо сталкивались с WebInvoke с Method = "GET", просто используйте вместо него WebGet ... он более компактный ... спецификация метода не требуется.
Эта конкретная статья была чрезвычайно полезна для меня, когда я разрабатывал свой сервис WCF и приложение ASP.NET, которое его потребляло: http://www.c -sharpcorner.com / UploadFile / sridhar_subra / 116 /
Вот еще один человек, задающий тот же вопрос, что и вы: http://social.msdn.microsoft.com/forums/en-US/wcf/thread/879d46af-9c78-4b5d-b746-82843d742a6f
Надеюсь, это поможет! Да здравствует WCF!