Будете ли вы использовать WCF Linq и JSON для API - PullRequest
1 голос
/ 17 июня 2010

Хорошо, я создаю API, но хочу, чтобы этот API использовался моим собственным Приложением. Я размышляю над WCF, LinQ и JSON для своих веб-сервисов, а также для данных и Silverlight для моего приложения.

У меня есть несколько вопросов.

1) Вы бы порекомендовали XML поверх JSON или Json поверх XML? а) собирается ли Json быстрее переносить и десериализоваться быстрее или XML собирается быстрее передавать и десериализовать?

2) Будет ли использование LINQ препятствовать любому подключению к моей форме службы PHP?

3) Вы бы порекомендовали что-то другое?

1 Ответ

2 голосов
/ 17 июня 2010

помедленней, партнер! ; -)

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

Я думаю, это то, что вы хотите:

  • API в форме веб-сервиса (ов) и клиентское приложение в silverlight.
  • Вы также хотите, чтобы клиент, кроме silverlight, использовал API веб-службы

Это правильно? дайте мне знать, и мы сможем все сломать дальше.

Обновление

Хорошо, когда вы говорите LINQ, вы имеете в виду Linq2Sql? в этом случае это ваш уровень данных ... поэтому не должно иметь значения, какую технологию вы используете для доступа к данным, потому что все ваши веб-сервисы должны обслуживать: DTO .

Что касается сериализации ... поскольку вы хотите использовать WCF, и пока вы используете DTO, вам следует создавать свой API независимо от сериализации. Это может быть обработано типом «привязок», которые вы настраиваете в WCF. Так что пока это не должно иметь значения.

В этой заметке, поскольку у вас может быть несколько «конечных точек WCF» для каждой службы, вы можете предоставить JSON, и XML (restful), и даже SOAP… без написания слишком большого количества дополнительного кода.

Лично я предпочитаю XML, поскольку анализировать в .net с помощью Linq to Xml очень просто, но JSON менее многословен и, возможно, имеет меньшую площадь.

В ответ на ваш комментарий

эй рико, спасибо. Не совсем.

Итак, ваше приложение silverlight будет просто клиентом, который использует ваш веб-сервис.

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

... ваш веб-сервис является единственным, который общается с БД, которая, в свою очередь, живет на вашем сервере. Таким образом, именно ваш веб-сервис взаимодействует с вашим DAL (уровнем доступа к данным) и, в свою очередь, может реализовать Linq2Sql или любую другую технологию доступа к данным.

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