我是从性能和互操作性的角度比较 Web 服务和 Remoting 对此有一些疑问。
1) 由于 Remoting 同时支持 TCP 和 HTTP channel ,因此在使用 TCP channel 时也是如此 它使用二进制格式和 HTTP、SOAP 格式时
2) 我们可以在 Remoting 中使用 HTTP 协议(protocol)的二进制格式和使用 TCP 协议(protocol)的 XML/Soap 格式吗
3) 由于 Remoting 支持 XML/SOAP 格式,这对于任何技术都是普遍接受的 和平台,因此它应该提供服务器/客户端应用程序之间的互操作性 任何技术/平台,如果提供,那么 Web 服务的用途是什么。 据我所知,Web 服务相对于远程处理的主要优势是互操作性。
4) 如果我使用带有 SOAP 和 HTTP 的远程处理,它是否会以同样的方式被互联网防火墙绕过 至于网络服务,还是会被防火墙限制。
5) 如果使用带有 SOAP 格式的远程处理,是否仍然存在任何性能变化? HTTP 和基于 Http 的 SOAP 格式的网络服务。
6) webservice是否支持二进制格式化和TCP协议(protocol)据我了解 webservice 仅支持 http prtocol 但根据一些程序员在堆栈溢出中的意见 webservice是独立于传输协议(protocol)的,所以是不是像asp.net webservice只能作用于 使用其他技术开发的 http 和 web 服务同时支持 TCP 和 HTTP。
问候, 阿伦帕蒂尔
最佳答案
如果您在 HTTP 模式下使用 Remoting,您将通过防火墙。
虽然这两个人看起来在做同样的事情,但他们是两个不同的野兽。例如,您可以在 Remoting 中使用接口(interface)类型,例如返回接口(interface)的服务,虽然使用 ASMX Web 服务(旧堆栈)或 WCF(仅部分受 KnownTypes 支持)是不可能的,但另一方面,WCF 支持多个端点/绑定(bind)以及比 Remoting 更好的安全性和可扩展性模型。
我的建议是,如果您的项目已经在使用 Remoting,请坚持使用它,否则选择一种即使没有过时也不会获得任何新功能的技术并不是一个明智的选择,因此我建议将 WCF 用于绿色项目。
关于c# - WebService 和 Remoting 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7791939/