我需要在winforms应用程序中上传多个文件。到目前为止,我一直在使用webclient,虽然这工作正常,但我想知道是否有更好的方法来做到这一点。 webclient是否为每个请求建立新连接,或者上传之间的连接是否仍然存在?
Dim Ftpclient As New System.Net.WebClient()
Ftpclient.Credentials = New System.Net.NetworkCredential(username, password)
Dim Files As New Dictionary(Of String, String)
''//Fill dictionary with items for upload here
For Each RemoteFile As String In Files.Keys
Ftpclient.UploadFile(RemoteFile, Files(RemoteFile))
Next
答案 0 :(得分:1)
它将为每个文件创建一个新的TCP连接,因为它的工作方式是HTTP。
恕我直言,在你的场景中并不是件坏事。
答案 1 :(得分:0)
这取决于您用于上传的protocl。如果您使用的是HTTP,那么客户端将重用之前的连接(如果可以)。我不确定FTP - 我认为FTP也支持keep-alive。
在任何情况下,如果您担心性能,您应该使用Wireshark来查看连接使用情况是如何完成的。它是每次都创建一个新的连接吗?