使用.NET传输大型文件(服务器/客户端)

时间:2012-03-14 12:06:58

标签: .net wcf tcp

我想下载并将一些大文件上传到服务器。

但我不知道什么是更好的使用

  • TCP / IP(使用System.Net.Sockets类)
  • WCF服务(没有IIS - 我使用ServiceHost类)

或其他什么?

2 个答案:

答案 0 :(得分:0)

就个人而言,我会使用System.Net.FtpWebRequest。

这是为了这个目的。

http://msdn.microsoft.com/en-us/library/ms229715.aspx

答案 1 :(得分:0)

你应该写更多关于上下文的内容。如果您需要身份验证,可以考虑使用WCF。使用WCF会有非常少的开销,但您可以轻松管理安全性/身份验证/更改。原始文件传输(使用相同的通道)不应与WCF不同,因此如果您需要其功能,则必须考虑增加的复杂性。

此外,如果你必须传输大量数据,你应该考虑连接可能会失败,所以你应该管理这种情况,我想你不想强迫你的用户从头开始上传/下载。您可以考虑使用一个众所周知的协议,例如FTP(由WCF支持)或FtpWebRequest类中提供。

用于比较不同技术的好文章:http://msdn.microsoft.com/en-us/library/bb310550.aspx(但请注意,您只有一次大数据传输,而不是多次小型传输)。