Security vs Cloud blog | Все запили отмеченные как 'SignalR'

Security vs Cloud blog

Здесь найдете заметки по безопасности, облакам и предпринимательству

KnockoutJS, SignalR в приложении ASP.NET MVC

Собирая внутрениие презентации для разработчиков по тех-решениям внашей платфомре Pryaniky.com, наткнулся на мою краткую илюстрацию работы нашего UI.
Построен он у нас на базе замечательной библиотеки KnockoutJS (http://knockoutjs.com/), позволяющей отвязать логику, данные и их отображение на странице. 
Еще одна используемая у нас библиотека - SignalR. Ключевая ее задача - получать данные в реальном времени, а также оповещать клиентов об изменениях. С помощью нее мы формируем "Живую ленту" с постоянными обновлениями. Нединамические данные получаются как и раньше через ajax.
Появнить как это может совместно работать модно 1 слайдом:



Что имеем:
Есть некая модель страницы. Фактически класс AllPageModel
В нем для SignalR регистрируем обработчики сообщений (клиентские методы). Например Notify (строка this.hub.client.Notify регистрирует функцию).

С помощью синтаксиса Knockout мы можем связать даные модели (и методы, кстати), с элементами UI. Например, data-bind="click:postData" - связывает событие "Click" по элементу формы с вызовом метода postData.
А внутри метода postData мы с помощью ajax или SignalR можем обращаемся к серверу. 
В данном примере мы вызываем SignalR-метод и в нем тут же дергаем клиента, передавая ему сообщение "OK".

Если интересно подробнее посомтреть какие еще инструменты мы испольуем в Пряниках - в аттаче презентация :)


Knockout_and_SignalR.pdf (581,8KB)