zoukankan      html  css  js  c++  java
  • 关于Silverlight程序与后端交互的困惑

    开发silverlight,与服务端交互是很基础但又很重要的部分,我想聊聊自己目前的思路,请各位尽情批判,呵呵。
      首先说应用场合,我要做的是企业应用软件,就是那种有大量数据表单,主要开发任务都在于各种表单的显示、更改、查询上,并且数据库结构不稳定,时不时要修改些字段什么的系统。
      MS比较推荐的前后端交互方式是RIA service . 然后是 wcf 。
    先说ria service ,这东西挺复杂,并且一直在快速改进中,这也意味着使用它要面临着不断更新的风险。最重要的是,它好像和EF绑定得挺紧密的,而我现在并不希望将已经熟悉 的数据库操作代码更换为EF。而且,在EF中要是数据结构改动,也费不少劲重新生成。(对于EF我不熟,以上的说法是浮光掠影地看了些资料后的感想)
      再说WCF,相对来说wcf给予了更大的空间和灵活性(当然也意味着更多功能需要自己实现),但我觉得,如果不考虑wcf在多种客户端重用的情况下,wcf也太笨重了。
      考虑到这里,我有一个设想,抛开那些MS推荐的办法,直接用webclient,httpclient之类的方法来打造前后端交互,似乎更有利于开发。
      在silverlight程序中,建立一个使用httpclient的通讯类,由它来负责收发数据,而在服务器端,使用handle(*.ashx)来做服务接口。中间传输的数据,用json编码即可。
      再进一步,构建一个通信的消息结构,比如哪些是“动作”,哪些是“数据”,并且可以传输“元数据”来告诉silverlight程序接受的数据结构是什么,这样就可以构建“自定义表单”。

      这么一种通信方法,还有一个好处,就是调试和测试方便,可以用firebug或fiddle来监控传输数据的内容,可以修改handle来生成测试数据从而做单元测试。

      说了这么些乱七八糟的想法,其实是因为我现在很困惑,这么一种做法是否有点闭门造车,重复发明轮子并且吃力不讨好?
  • 相关阅读:
    字符串的排列
    二叉搜索树与双向链表
    复杂链表的复制
    二叉树中和为某一值的路径
    二叉搜索树的后序遍历序列
    从上往下打印二叉树
    python系统编程(一)
    python网络编程(十三)
    python网络编程(十二)
    python网络编程(十一)
  • 原文地址:https://www.cnblogs.com/honghuamin/p/1914604.html
Copyright © 2011-2022 走看看