Mvvm C#POCO到JS对象的动态转换

Mvvm C#POCO到JS对象的动态转换,mvvm,knockout.js,signalr,Mvvm,Knockout.js,Signalr,我正在使用Knockout.js查看MVVM。我希望实现的一件事是“轻松地”将MVVMPOCO背后的代码作为对应的JS对象发送到客户端 其想法是: a) 如果我更改C#POCO,它也会反映在JS对象中 b) 更改POCO中的值将导致与客户端进行必要的交互以更新JS对象 我猜这就是您将使用signer()来执行此操作的时间?然后使用KO()中的映射插件将其转换为可观察对象 因此,我的问题是: 在获取POCO服务器方面,我的假设是否正确 通过信号机向KO发送侧数据 有没有其他方法可以达到1 是的,您

我正在使用Knockout.js查看MVVM。我希望实现的一件事是“轻松地”将MVVMPOCO背后的代码作为对应的JS对象发送到客户端

其想法是:

a) 如果我更改C#POCO,它也会反映在JS对象中 b) 更改POCO中的值将导致与客户端进行必要的交互以更新JS对象

我猜这就是您将使用signer()来执行此操作的时间?然后使用KO()中的映射插件将其转换为可观察对象

因此,我的问题是:

  • 在获取POCO服务器方面,我的假设是否正确 通过信号机向KO发送侧数据
  • 有没有其他方法可以达到1

  • 是的,您可以使用signar将对象的POCO表示的实时更改推送到客户端。我的意思是,在你改变一个属性时,它不会自动发生,它会神奇地发送一条信息。您必须构建一些管道,以确保在特定对象发生更改时发送特定的信号器消息。您可以选择再次重新发送该对象的整个表示(例如,所有当前值),也可以只发送您知道为提高效率而更改的值

    从这里开始,您需要更新对象的相应JS表示,如果您使用Knockout,将向所述对象的所有观察者发出正确的通知。您还可以通过观察JS对象上的更改并将消息发送回服务器,从另一个方向执行此操作


    显然,关键在于每个对象必须具有某种唯一的标识,以便您可以将消息与适当的JS/POCO对象关联起来

    谢谢你。现在,在我去重新实现控制盘之前,看看是否有人做了神奇的管道,前后发送消息。