通过Internet传输数据的最佳方式(适用于.NET开发人员)
我需要从服务器读取一些数据,通过internet(无VPN)传输,然后将其写入另一台服务器的磁盘。我本可以想到很多选择,但最终我实现了:通过Internet传输数据的最佳方式(适用于.NET开发人员),.net,wcf,data-transfer,.net,Wcf,Data Transfer,我需要从服务器读取一些数据,通过internet(无VPN)传输,然后将其写入另一台服务器的磁盘。我本可以想到很多选择,但最终我实现了: 发件人为windows服务,每X分钟发送一次新数据 接收器作为WCF自托管服务,具有WSHttpBinding 以字符串形式传输的数据,该字符串是序列化为XML的对象 但在我这么做之后,我意识到有很多方法可以做到这一点: 其他协议,如FTP 中列出的其他绑定 其他参数类型,例如原始对象类型 我想知道这些选项中是否有任何一个会导致更快、更可靠或更安全的传输。你有
当一个现成的包/协议可以工作并且完全符合您的目的时,构建定制的东西似乎需要做很多工作。在安全方面,当您通过网络传输数据时,您可以利用它提供一层加密。发送方是非常开放的——几乎任何选择都可以 对于一个接收者,考虑的一个选项是HutpHundRead——ASP.NET项目中的一个ASHX文件。您可以使用您想要向接收方提供选项/信息的任何自定义http头,然后数据就是http请求的有效负载。您不需要通过文本编码来增加数据的大小,HTTPS内置了安全性。这非常简单 唯一的缺点是,如果您想实现某种“断开的连接,从我中断的功能开始”,这仍然是可能的,但有点困难——使用专用的定制服务可能会更容易。简单到可以为它编写套接字层 它非常紧凑、多语言、快速,最重要的是,添加数据字段非常简单,而且不会破坏兼容性
查看作者,他是堆栈溢出的常规贡献者 如果您使用Windows服务器,您还可以使用并获得消息传递保证、事务、可靠性和一系列其他功能。它公开了HTTP端点,并且非常容易从访问和使用,因为您只想每分钟传输1MB,不需要安全性,而且既然您说双方都在运行Windows,我就简单地使用WCF和netTcpBinding。这将通过TCP/IP以二进制形式发送数据
没有SOAP,没有XML,没有HTTP开销。请通过提供更多数据细节来澄清您的问题:有多少数据,多久一次,哪一方发起传输,传输需要多安全,等等@John,我想每分钟传输大约1MB,不需要安全性。