2011-03-25 3 views
1

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

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

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

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

Использование платформы .NET 3.5 и VS 2008

ответ

0

Вы не можете передавать фактические пользовательские объекты, но можете, конечно же, передать их в сериализованную версию через свою службу, а также на свою страницу, javascript и т. Д. В принципе, вам необходимо сопоставить поля вашего сложного обычая. NET для классов, украшенных атрибутом DataContract. Эти классы являются типами, возвращаемыми вашим сервисом. Класс, оформленный DataContract, будет содержать поля с примитивными типами, такими как строки, целые числа и т. Д. Служба WCF будет сериализовать их в XML или JSON.

На стороне клиента jQuery станет вашим лучшим другом. Я лично предпочитаю JSON, потому что свойства ваших объектов намного легче получить на этом пути, вместо этого приходится иметь дело с разбором кучки XML. Итак, настройте свой сервис для вывода JSON.

Кроме того, чтобы упростить чтение URL-адресов службы, используйте подход RESTful. Это так же просто, как украсить ваши методы обслуживания с помощью атрибута WebGet и предоставить UriTemplate. Как только вы увидите несколько примеров, это сойдет с ума. Примечание: если вы когда-либо сталкиваетесь с WebInvoke с методом = «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

Спасибо NoveJoe, SO Я буду использовать сериализацию JSON с WCF и использовать ScriptManager для ее использования. – cshah

+0

Прохладный! Не уверен, что вы можете использовать его непосредственно с ScriptManager. ScriptManager - это то, на что это похоже: управление скриптами. Тем не менее, я определенно рекомендую использовать jQuery для его использования. Конечно, вы можете загрузить сценарии jQuery с помощью ScriptManager. – NovaJoe

0

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

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

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

Смежные вопросы