Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.NET传输大型文件(服务器/客户端)_.net_Wcf_Tcp - Fatal编程技术网

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

使用.NET传输大型文件(服务器/客户端),.net,wcf,tcp,.net,Wcf,Tcp,我想下载一些大文件并上传到服务器上 但是我不知道用什么更好 TCP/IP(使用System.Net.Sockets类) WCF服务(没有IIS-我使用ServiceHost类) 还是别的什么?我个人会使用System.Net.FtpWebRequest 这正是为了这个目的 你应该写更多关于上下文的内容。如果需要认证,可以考虑WCF。使用WCF,开销非常小,但您可以轻松管理安全性/身份验证/更改。原始文件传输(使用相同的通道)不应与WCF不同,因此如果需要其功能,必须考虑增加的复杂性 此外,如

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

但是我不知道用什么更好

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

还是别的什么?

我个人会使用System.Net.FtpWebRequest

这正是为了这个目的


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

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


比较不同技术的好文章:(但请注意,您只有一个大数据传输,而不是多个小数据传输)。

“非常小的开销”-我很高兴。。。WCF不是一朵精致的花——它可能会有相当明显的杂音。我有点讽刺,WCF并不轻,但它取决于通道堆栈(我猜如果选择错误,可以获得50%的性能)。对于大文件,如果配置得当,它可能不会如此引人注目。在这种情况下,我认为它最大的问题是延迟。就我个人而言,我只是把它分块。。。与其尝试发送一条大消息,不如发送多条小消息。