winform项目中用了remoting,客户端只需调用服务端的dll然后实列化用,但是为什么dll不放在客户端呢?不是一样能用,而且还能减轻服务端的负载。remoting的好处在哪里呢?

解决方案 »

  1.   

    在 Programming Asp.net 书中写到 如果客户端和服务器端都是开发人员可控制的,建议采用rometing。rometing 是以二进制形式传输,比WebService的文本形式传输快的多!
      

  2.   

    见下面链接。http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=380简言之
    1. 速度相对Web Service快。
    2. 在一个进程里可以访问在另一个进程里的对象的属性或者方法。这些进程可以是在同一个机器上,或者局域网中甚至是广域网中。
    3. .NET remoting可以支持全部的.NET数据类型,而ASP Web Service的中的数据类型只能是那些能用WSDL或者XSD来表达的。
      

  3.   

    客户端只需调用服务端的dll然后实列化用,但是为什么dll不放在客户端呢?不是一样能用
    ------------------------------
    这样的话那你的客户端不是每个机子都要一个dll??而且有一点要修改的话,全部的客户端的机子都要去修改
      

  4.   

    上面基本上都说全了,我来总结一下
    remoting分布试编程的首选,Web Servicem 与remoting基本一样,同样有很高的安全性和可维护性,但remoting更快!
      

  5.   

    但是为什么dll不放在客户端呢?不是一样能用,而且还能减轻服务端的负载。
    --------------------
    这个问题属于为什么要有应用程序服务器吧
    如果有一个逻辑要修改,传统的c/s构架的方式,需要把这个逻辑所在的Assembly分发给每一个客户段,有了AP服务器后,如果这个逻辑所在的Assembly是部署在应用程序服务器上的,只需要更新应用程序服务器的Assembly就可以了(这方面和b/s方式有点像)
      

  6.   

    大致上说,Remoting的好处是实现分布式应用的好处。分布式的目的,按照鄙人的理解就是使用具有负载平衡的群集服务器,改善服务端的性能。
      

  7.   

    remoting 通过TCP/IP协议,以二进制传输,效率高.另外它还是.NET中用来跨越machine, process, appdomain 进行方法调用的技术,对于N层结构的程序,就可以使用remoting技术来构建,是分布式应用的基础技术.
    就知道这么多.