wcf и knockout.js объединяются - PullRequest
       7

wcf и knockout.js объединяются

1 голос
/ 25 декабря 2011

Я получил свой слой данных, готов бизнес-уровень. Теперь я хочу реализовать сервисный уровень. Я не хочу реализовывать этот уровень в сервисах wcf ria. Есть ли другой способ реализовать этот слой таким образом, используя wcf, чтобы я получил свою модель через wcf, используя js. Например, у меня есть домен «Персона». (В доменном проекте). Тогда в моем «PersonRespository» есть InsertPerson, GetPerson и т. Д., Чтобы получить и сохранить «Person» в базе данных.

Теперь я хочу использовать asp.net mvc, чтобы показать человека detais.

Таким образом, следующие два уровня будут Уровень представления и уровень обслуживания и будут манипулировать данными на стороне клиента с помощью knockout.js, и я застрял в следующих вопросах.

  1. Где будет мое Место для презентации будет жить. Я использую asp.net mvc, поэтому он должен находиться в папке модели приложения mvc. Разумно ли копировать тот же класс кода (Person) в папку модели, что и из модели домена. Событие, когда они одинаковы.

  2. Как я могу получить класс модели «Персона» в javascript и обновить его из javascript в базу данных.

Мой архитектурный стиль - на уровне предприятия, или я что-то упускаю.

Любой пункт в руководстве будет полезен.

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

Спасибо

Далджит

1 Ответ

2 голосов
/ 25 декабря 2011

Вопрос 1:

Нет, вы не должны повторять свой код. Об этом говорится в СУХОЙ (http://en.wikipedia.org/wiki/Don%27t_repeat_yourself) принципах развития.

Вопрос 2:

Рекомендуется сериализовать модель с помощью сериализатора json и отправить ее в пользовательский интерфейс. Он будет обновлен и т. Д., А затем отправлен обратно в службы. Шаблон Google MVVM в javascript, чтобы увидеть, как это делается. KnockoutJs - отличное начало в достижении того, что вы хотите. Вероятно, лучше проверить некоторые примеры, сделанные в knockoutjs, чтобы увидеть, что происходит. В MVVM для WPF также есть много примеров, которые могут помочь понять шаблон на более высоком уровне. Я бы порекомендовал посетить codeproject.com для более подробных примеров MVVM.

Что касается ваших слоев, у вас есть много вариантов, но общая рекомендация будет:

1) Презентация должна запускаться через привязки MVVM, т. Е. Если привязка обновляется, пользовательский интерфейс затем обновляется сам.
2) сторона asp.net должна обновлять модели только при отправке обновлений через ajax в пользовательский интерфейс. (не все нужно отправлять через ajax, я не говорю об этом. Когда это происходит, он также не должен посылать дополнительные html или js для размещения на странице).
3) Ваши модели должны действительно прийти с asp.net на HTML-страницу. (это упростит задачу позже, поскольку страница будет обновляться только через модели asp.net, и вы не будете получать элементы, поступающие из нескольких доменов, что в итоге создает неудобства.
4) Ваш сайт asp.net должен предоставить оболочку для вашей службы WCF и может направлять вызовы в WCF.

OR

Если вы не хотите связывать WCF с asp.net и хотите, чтобы ваш интерфейс пользователя напрямую связывался через ajax с WCF (это должен быть более редкий пример использования, например, создание страницы, похожей на igoogle, с виджетами, или, возможно, разработка мобильных приложений без asp. сетевое взаимодействие, то есть полное приложение js) Затем вы можете исследовать CORS как вариант перехода от JS к WCF и JS к asp.net (это сложная задача, ее легко программировать, трудно приступить к работе для WCF, поскольку очень низкая документация по нему, поскольку в моем случае не IIS размещал WCF). См. Эту страницу для информации: http://enable -cors.org /

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