none
求教一个关于webform和winform的思路.谢谢各位老师 RRS feed

  • 问题

  • 我现在有一个网站, 全站jquery+webservice结构.

    然后现在需要用winform做个客户端,因为想继承原来的web界面(用户习惯),所以想仅利用webbrowser加载原来的webfrom来实现

    但有个要求,就是要把部分需要server端处理的运算搬到客户端的winform上,这就需要webform向winform发送数据请求并返回到webfrom的webservice.

    我知道c/s和b/s的交互,但是需要重写js,而且和原来的webform独立开来,结构完全不一样.维护起来比较麻烦,要维护2套代码.\

    我也看过wcf的介绍,但是因为从来没接触过,所以不确定.

    所以我想问问各位老师,有没有可能在原来的webform的基础上,来实现这样的功能?

    或者用wcf可以实现?

    求教思路.

    谢谢了

    2012年6月12日 2:46

答案

  • 对于要转移到客户端的部分,你是不是想这样。

    原来: WebForm执行JS -> JQuery发出远端调用 -> WebService执行计算 -> 回调JQuery -> 更新WebForm数据。

    现在:WebForm执行JS -> JQuery发出本地WinForm调用 -> WinForm本地计算 -> 回调JQuery -> 更新WebForm数据。

    对于JS的处理,你可以采用类似接口的实现方式来解耦,这样维护起来不会很麻烦。

    本地WinForm调用可以和远端的WebService类似,在本地宿主一个WebService。


    快乐在于能够长时间的为自己认为值得的事情努力工作,不管它是什么。

    2012年6月16日 0:56

全部回复

  • WCF 只是做后台服务啊,可以提供API,不管客户端是什么,是WebForm 还是Winform。你按照约定的接口调用就可以了。

    Frank Xu Lei--谦卑若愚,好学若饥
    [老徐的网站]:http://www.frankxulei.com/

    [老徐的博客]:http://54peixun.com/Author/frankxulei
    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2012年6月12日 4:19
    版主
  • 谢谢老师回答我的问题

    但是我几个疑问.

    1.我看到实例是winform调用iis中的wcf,发送请求,然后返回需要的数据.但是我需要的是webform向不同的winform发送请求,然后由winform回调处理好的数据.这样的话,wcf是不是应该用winform做宿主?

    2.我这里的winform客户端有很多.如果可以使用wcf来发送处理请求的话,会不会广播到所有的客户端? 我想的是一个winform对应一个webform的实例.这样wcf发送到winform的请求是1对1的

    谢谢

    2012年6月12日 5:50
  • 1.你可以将WCF服务宿主在WinForm应用程序中,然后在WebForm中调用WCF服务并发送请求。

    2.如果你的WinForm客户端在不同的机器上,当WCF服务宿主在WinForm中时,你的终结点的地址是不一样的,这时,WCF请求是发送到指定的Winform上的服务上,你可以在WCF服务中设置InstanceContextMode为PerSession(如果binding支持session)或PerCall


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework



    2012年6月15日 6:30
    版主
  • 对于要转移到客户端的部分,你是不是想这样。

    原来: WebForm执行JS -> JQuery发出远端调用 -> WebService执行计算 -> 回调JQuery -> 更新WebForm数据。

    现在:WebForm执行JS -> JQuery发出本地WinForm调用 -> WinForm本地计算 -> 回调JQuery -> 更新WebForm数据。

    对于JS的处理,你可以采用类似接口的实现方式来解耦,这样维护起来不会很麻烦。

    本地WinForm调用可以和远端的WebService类似,在本地宿主一个WebService。


    快乐在于能够长时间的为自己认为值得的事情努力工作,不管它是什么。

    2012年6月16日 0:56