Silverlight с помощью mvc или Ria Services? - PullRequest
1 голос
/ 05 марта 2011

У меня есть приложение Asp.net MVC, которое использует html5 и jquery на стороне клиента.Руководство хочет поэкспериментировать с Silverlight, поскольку, по их мнению, у конечного пользователя сложится впечатление, что он запускает приложение для настольного компьютера, а не веб-приложение.

Я хочу создать версию приложения silverlight, но в отличие от приложения MVC, где возвращаются представления html, я действительно хочу, чтобы данные только что возвращались и использовались приложением silverlight.Поэтому каждый раз, когда я захожу на новую страницу в приложении silverlight, возвращаются только данные для ее заполнения (я не хочу возвращать страницу xaml, в которой есть данные, встроенные в нее).Поэтому вся логика моего приложения будет в приложении silverlight.

Поскольку наше приложение будет многопользовательской системой, одним из требований является то, что при отображении сетки данных в приложении silverlight сетка должна периодически обновляться, поскольку другие пользователи добавляют и удаляют записи.В настоящее время с приложением MVC у меня есть таймер, который обновляет сетку с помощью вызова Ajax каждые несколько секунд.

Я не уверен, смогу ли я повторно использовать контроллеры и действия mvc и просто вернуть данные, или мне нужно идти сУслуги RIA, поскольку это может предоставить мне другие более богатые функциональные возможности.

JD

Ответы [ 2 ]

2 голосов
/ 05 марта 2011

RIA предоставляет более богатые функциональные возможности, но IMO не хватает той самой возможности повторного использования (например, взаимодействия с jquery), которая вам нужна здесь.Посмотрите блог Тима Хойера о том, как использовать Silverlight в качестве представления с MVC здесь , и, возможно, добавьте дополнительный параметр к вашему вызову, например (? Mode = sl), и проверьте его в своих контроллерах, так что соберите все своитогда вам понадобятся данные для ваших представлений

if (mode == "sl") return Json(data); 
else return View(data);

Конечно, жизнь не так проста, у вас будут проблемы с дочерними действиями, моделями просмотра и т. д. Но это только начало.

С другой стороны, если вы просто выполняете операции CRUD и практически не записали бизнес-логику в свои контроллеры, то используйте RIA!ИМО, самое главное из них - СУХОЙ !!!(Не повторяйте себя) Так что, если у вас есть много кода в Controller, не переписывайте его снова вокруг RIA в SL!

0 голосов
/ 05 марта 2011

Оба?:)

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

...