Пользовательский бизнес-объект: AJAX с поддержкой WCF - PullRequest
1 голос
/ 25 марта 2011

Могу ли я передать пользовательский объект между WCF с поддержкой AJAX и моей страницей asp.net?

Я искал в Интернете, но не смог найти ни одного примера.Большинство показывает простые типы, такие как строка и целые числа.

Я также не знаю, как заполнить свойство пользовательского объекта через JavaScript на стороне клиента.

У нас есть браузер, добавляемый к , и мы должны передать данные этомуАддон из веб-сервиса, который я исследовал, и похоже, что AJAX с поддержкой WCF - это путь

Использование .net Framework 3.5 и VS 2008

Ответы [ 2 ]

0 голосов
/ 25 марта 2011

Вы не можете передать фактические пользовательские объекты, но вы, конечно, можете передать их сериализованную версию через ваш сервис и на свою страницу, в 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!

0 голосов
/ 25 марта 2011

В .NET 3.5 лучше всего делать ставку WebHttpBinding , которая принимает обычный старый XML (POX), и вам необходимо отправить XML в службу WCF.

Вы также можете использовать WCF REST, используя стартовый набор REST. Для образцов смотрите здесь . Это также поддерживает JSON.

Если вы использовали .NET 4.0, JSON с поддержкой WCF HTTP был подходящим вариантом. WCF REST с 4.0 был альтернативой, хотя мне действительно это не нравится.

...