Возврат табличной структуры из веб-службы - PullRequest
1 голос
/ 06 января 2010

Каков наилучший способ вернуть табличную структуру из веб-службы ASP.NET (2.0)?

Он должен быть совместим с Java, Iphone App или любой другой платформой.

РЕДАКТИРОВАТЬ: Под совместимостью я подразумеваю, что другая технология / клиент должен иметь возможность использовать ее или десериализовать ее до своих собственных типов вместо анализа XML ответа.

Ответы [ 5 ]

1 голос
/ 06 января 2010

Веб-службы по определению являются функционально совместимыми, поскольку, помимо прочего, они используют XML для передачи данных между гетерогенными системами.

При этом необходимо определить, как табличная структура сериализуется в XML.

Есть несколько способов сделать это, у каждого из них есть свои плюсы и минусы.

  • Реализация интерфейса ISerializable
  • Украсьте класс с помощью атрибутов [XmlSerializer], чтобы управлять тем, как класс сериализуется как XML.
  • и т. Д. И т. Д. И т. П. *

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

1 голос
/ 06 января 2010

Вы можете достичь совместимости, используя SOAP / XML. Вот ссылка на статью , которая может быть вам полезна.

0 голосов
/ 02 февраля 2011

Вы можете вернуть что-то вроде Fielded Text значение. К сожалению, нет библиотеки для простого создания таких текстовых объектов в .Net, но это довольно просто реализовать самостоятельно и определенно может быть проанализировано любой другой платформой.

Кстати, вам действительно нужно использовать веб-сервис на основе SOAP? Возможно, это может быть просто текстовый документ, возвращаемый при вызове данного URL. Попробуйте взглянуть на RESTful веб-сервис.

0 голосов
/ 06 января 2010

Зависит от вашего предпочтительного формата. Я бы предложил:

если XML, то что-то вроде:

<table>
  <row1>
    <col1>data</col1>
    <col2>data</col2>
  </row1>
  <row2>
    <col1>data</col1>
    <col2>data</col2>
  </row2>
</table>

если JSON, то что-то вроде:

[{"col1":"data","col2":"data"},{"col1":"data","col2":"data"}]

В любом случае, лучше не делать это вручную. Используйте библиотеку для сериализации ваших данных.

0 голосов
/ 06 января 2010

http://support.microsoft.com/kb/306134

Я думаю на этой странице. Вы получите ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...