2012-03-14 57 views
0

我想下载一些大文件并上传到服务器。用.NET传输大文件(服务器/客户端)

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

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

还是别的什么?

+1

就我个人而言,我只是把它大块......而不是试图发送1封大消息,发送多个更小的消息。 – 2012-03-14 12:30:52

回答

0

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

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

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

+0

“很少的开销” - 我哈哈... WCF是*不是*一朵娇嫩的花 - 它非常可以有一个相当明显的开销 – 2012-03-14 12:30:00

+0

大声笑我有点讽刺,WCF不轻,但它取决于通道堆栈(我猜错误的选择可以获得50%的性能)。对于大文件,如果配置良好,可能不太明显。在这种情况下,我认为它最大的问题是延迟。 – 2012-03-14 12:41:54

相关问题