我有两个程序A(winform)和B(webform)分别安装在两个工作站上 通过局域网连接 我想让A程序的datagridview更新后(数据库插值 删除等) B的gridview也能即时更新 请问该如何做到?我看到的方法将A得数据集dataset序列化后通过网络传输给B 反序列化后执行与gridview绑定操作 问题是怎么将数据集序列化后在通过网络传输给B呢? 怎么能A的datagridview更新后B的gridview也能即时更新的问题?
请各位高手 指教 我该如何解决这个问题?(程序通信方面 以前没接触过 希望您能说的详细些 希望有代码做例子参考学习 拜谢各位)

解决方案 »

  1.   

    看你的需求 WEBSERVICE来解决..winform 调用 webform 的webService把数据提交到到webform那里如果 webform端一直打开 使用JS一直刷新..
      

  2.   

    webservice没用过 不知道怎么A提交到webservice在到B  
    您的第二种方法 的意思是说用JS定时刷新页面吗?会不会造成服务器压力过大?因为每次刷新都要获取此数据库中数据
    如果A更新 能否通知B更新 该怎么做?郁闷
      

  3.   

    我的程序是这样的 A中的datagridview如有变化(比如删除 添加等)B中gridview必须即时更新 因为我要从B中的gridview取得最新值
      

  4.   

    webservice没用过 不知道怎么A提交到webservice在到B  
    您的第二种方法 的意思是说用JS定时刷新页面吗?会不会造成服务器压力过大?因为每次刷新都要获取此数据库中数据 
    如果A更新 能否通知B更新 该怎么做?郁闷 你在你webform 上建立好WEBSERVICE  WINFOR直接按地址引用就可以了.如果是webform 你怎么让客户端去做什么事呢.除非浏览webform的上有客户端程序.否则客户怎么知道什么时候要刷新呢.
      

  5.   

    为什么一定要用webservice
    winform不可以直接连接数据库么?定时读取数据,刷新不行么?
      

  6.   

    这个需要使用webService技术
    楼主的需求是服务器上变化了
    终端机上的也要跟着变吧
    webService 很简单的 研究下吧
      

  7.   

    我是菜鸟 不太懂通信方面的编程 我的意思是比如 在A中执行了此对数据的删除操作 同时能否利用通讯编程给B发个数据包 当B接收到该数据包时 就刷新页面 或重新绑定次gridview操作 我太懂 只是想当然
      

  8.   

    我是菜鸟 不太懂通信方面的编程 我的意思是比如 在A中执行了此对数据的删除操作 同时能否利用通讯编程给B发个数据包 当B接收到该数据包时 就刷新页面 或重新绑定次gridview操作 我太懂 只是想当然 
    完全可以啊
      

  9.   

    楼主既然想用序列化反序列话,那么要用Remoting进行数据的传输了~
    楼主可以去翻翻关于Remoting技术的资料。
    关于B App得到更新的数据也不是很困难,每次A更新后,写Flag,如写一个更新时间
    B App要保持一个更新时间,定期的去Server端查询这个flag,如果改变了,那么主动更新页面也可以设置页面定时更新
    方法是在Head中加入meta,代码如下:<head>
        <title>Copyright by East China Information Inc.</title>
        <%--自动刷新 scott 每十分钟刷新一次 --%>
        <meta http-equiv="REFRESH" content="600">
    </head>
      

  10.   

    可不可以这样:
    在数据库,或着其他地方加一个状态标记.
    当A(WinForm程序)有做更新,删除操作时改变标记.
    B(web程序)定时去读状态标记(可用AJAX),如果和上一次不一样则刷新数据.(同时保存这次的状态标记,以便下次利用)
      

  11.   

    webservice? tcp通讯?  我也想知道答案  呵呵   感觉要是用webservice 或者2楼说的用JS 在客户端定时刷新  应该会影响执行效率
      

  12.   

    同意楼上的 
    你老想着A直接发给B 其实你应该有个c做服务器 A-C 而B不停查询C
      

  13.   

    按照楼主的意思用webservice是最好的,比较符合楼主的用意
      

  14.   

    只要A修改了。传到SQL,B只要用JS每隔X秒刷一次就行了啊,会自动读取SQL的
      

  15.   

    我不明白说用webservice的朋友是怎么个意思?我的理解是 利用webservice写个查询数据库表的操作 然后绑定dataset B程序通过webservice获取该数据集然后绑定gridview 这样做 和我用B程序的gridview直接绑定A程序所用服务器的数据库表的数据集有何不同?怎么就能达到A更新触发B刷新的目的了?如果用JS刷新页面 哪位朋友能给个刷新页面的JS例子 JS刷新的方法会不会导致B程序重新提交表单postback?导致数据重复提交或重复操作的现象? 
      

  16.   

    A程序是C#做的winform B是asp.net写的webform A放在服务器上 B放和A都在一个局域网中 A和B都共用一个数据库中的相同数据表 只是A负责对表进行操作 B主要用于输出表中信息 如:A对数据表进行了插值操作 则B会更新成最新的视图 并取出所插入的值 是这样的问题
      

  17.   

    支持
    webservice 就是提供给 winform的接口
      

  18.   

    webservice怎么就能实现两个程序的数据集数据同步更新问题?网上搜了好多相关东西 感觉没有和我所面对的问题是类似的 如果您知道其所以然 请指点 我水平很菜 您两位这样的回复 让使我看了崩溃 呵呵
      

  19.   

    winform和webform通信应该不是问题,LZ是不想增加服务器的压力吧
       设置一个状态标记,在客户端轮询比较简单~但也会浪费资源
    再有就是使用服务器推技术
       最好就是在客户端使用插件,服务器有更新就通知客户端~
       还有就是使用长连接,也就是HTTP连接不断开~这样服务器的端口要开放很多也浪费资源,而且还带来安全隐患
    如果你有web应用是好象股票这样的大流量实时数据的话最好使用数据流