Отдельный веб-сервис для JSON и XML? - PullRequest
3 голосов
/ 09 февраля 2012

Я намереваюсь написать веб-сервис на C #, который будет использоваться клиентами, которым может потребоваться JSON или XML.

Я понимаю, что .Net может делать это очень хорошо, если вы возвращаете что-то простое, например, этот объект в вашем WebMethod

class person
{
    string name
    string age
}

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

Я пытался просто вернуть таблицу данных, но это не очень хорошо работает с JSON (циклические ссылки, если вы используете application/json). Является ли в этом случае лучшим решением для создания сериализуемых классов, которым я могу сопоставить свои данные? Причина, по которой я спрашиваю, состоит в том, что это будет очень громоздко.

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

1 Ответ

1 голос
/ 09 февраля 2012

Лучше всего создавать отдельные простые объекты пользовательского интерфейса, которые могут быть переданы обратно клиенту.хотя это и затруднительно, это отсоединит ваш код службы внешнего интерфейса от слоя данных и позволит вам изменять данные, не затрагивая объекты, которые потребляет клиент.

Однако вам не нужно создавать отдельные веб-службы.,Я полагаю, что вы можете создать 2 разные конечные точки для одной и той же службы и настроить их так, чтобы они возвращали xml / json в зависимости от того, какой адрес (конечная точка) используется клиентом.

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