2014-11-19 3 views
0

У меня есть приложение Winform C# (.Net 3.5), которое обращается к серверу MSSQL с использованием типизированных объектов DataSet.Как передать типизированные объекты набора данных с помощью веб-служб

В настоящее время все мое приложение работает на одном уровне, а клиент обращается непосредственно к БД, используя эти типизированные объекты DataSet.

Я хочу изменить свое приложение на модель клиент-сервер (которая будет использовать веб-службы для связи).

Мой вопрос: Как передать типизированные объекты DataSet в веб-сервисах? Например, У меня есть таблица лиц. И я хочу, чтобы моя клиентская сторона могла получить конкретного человека (используя веб-сервис), обновить его возраст и сохранить изменения (снова используя веб-службу).

Возможно ли это?

Благодаря

+0

вы можете сериализовать/десериализовать свой объект результата - здесь много параметров - CSV, XML, Json ... – Milen

ответ

0

Вы должны попробовать что-то вроде Hibernate. Это промежуточное сопоставление сущностей между классами и таблицами базы данных. Запросы будут выполняться на стороне бизнеса приложения (веб-служба в вашем случае) на языке HQL; который очень похож на обычный SQL. Я лично использовал его несколько раз с Java, и это может быть весьма полезно. Выполняя короткий поиск в Интернете, я нашел «NHibernate», которая является специфичной для .NET версией для Hibernate.

Для моего конкретного приложения Java он настроен таким образом, что GUI не находится в веб-службе, в то время как в основном все остальное. Затем с помощью диспетчера ресурсов создайте «ссылку», которая указана на стороне бизнеса. Все транзакции выполнялись на веб-сервисе, пока они отображались на стороне клиента.

Чтобы ответить на ваш вопрос; да это вполне возможно.

1

Поскольку вы используете .Net, вы должны хотя бы проверить Entity Framework (.Net ORM) перед тем, как отправиться в третью сторону nHibernate. nHibernate может быть прекрасным, и, возможно, это будет способ, но вы должны по крайней мере сначала сравнить его с Entity Framework и иметь причины не использовать Entity Framework.