• 关于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来生成测试数据从而做单元测试。

      说了这么些乱七八糟的想法,其实是因为我现在很困惑,这么一种做法是否有点闭门造车,重复发明轮子并且吃力不讨好?
  • 相关阅读:
    判断&数学&生活
    Tomcat7源码环境搭建
    CentOS 7 下使用虚拟环境Virtualenv安装Tensorflow cpu版记录
    Quartz学习笔记1:Quartz概述
    Docker学习笔记2: Docker 概述
    大数据基础知识问答----spark篇,大数据生态圈
    [MSSQL] [EntityFramework(.Net Core)] 自增长id字段,无法插入数据
    [json-server] RESTful API 中,取主数据时,同时获取多个关联子表的数据
    前后端分离开发之前端自己的API(DB)---- (2)
    前后端分离开发之前端自己的API(DB)---- (1)
  • 原文地址:https://www.cnblogs.com/honghuamin/p/1914604.html
Copyright © 2020-2023  润新知