".NET Remoting 是微软 .NET Framework 中的一种网络通信技术,与 XML Web Service 不同的是,它可以使用 SOAP 以外的协议来通信,而在服务端和用户端之间所操作的方法近乎相同,用户端可以不必考虑使用的协议,即可访问服务端所开放的对象。这个技术与是由Distributed COM所发展而来的,与DCOM最大的不同是,DCOM有限制使用 TCP Port,但.NET Remoting 可以选择使用 TCP 或 HTTP 的方式通信,而数据可以利用 SOAP 或二进制传输方式在网络上流动,二进制的传输效能是 SOAP 所不能比的,但 SOAP 却可以得到和 Web Service 相互沟通的能力,因此 .NET Remoting 的设计弹性较大。"
一般这三种技术都可以应用到这类的项目:
1,你可以使用Socket技术来通信,传输数据,实际上.NET进行了很好的封装,不需要直接使用Socket类!比如:如果使用Tcp协议,你可以使用TcpListener类和TcpClient类
2,如果涉及到远程对象,可以使用.NET Remoting,实际上这个.NET也提供了比较好的支持,可以作到直接在配置文件里配置.NET Remoting,这样比较灵活,就算将来修改信到协议等也不用在修改程序代码了,直接改配置文件就可以了,我目前也再做这类的开发,遇到问题可以多多交流啊!
3,如果想今后可以重复使用一个模块,也可以写成Web Service,这个同样在.NET平台上提供了很好的支持,直接添加Web引用就可以以很简单的方式来使用了。
<system.runtime.remoting>
<application>
<client>
<wellknown type="Likai.Platform.Logistics.Server.LogisticsService, Likai.Platform.Logistics.Server" url="tcp://192.168.1.133:20002/Likai.Platform.Logistics.Server.LogisticsService"/>
</client>
<channels>
<channel ref="tcp" port="0">
<serverProviders>
<formatter ref="soap" typeFilterLevel="Full"/>
<formatter ref="binary" typeFilterLevel="Full"/>
</serverProviders>
</channel>
</channels>
<lifetime leaseManagerPollTime="10S"/>
<!--<lifetime
leaseTime="10s"
sponsorshipTimeout="2s"
renewOnCallTime="2s"-->
</application>
</system.runtime.remoting>
Web Service 使用 remoting 服务端的提供的对象(是否可以反回值)
最新推荐文章于 2024-07-17 11:08:00 发布