2009-11-26 80 views
1

我需要在winforms应用程序中上传多个文件。到目前为止,我一直在使用Web客户端,虽然这工作正常,但我想知道是否有更好的方法来做到这一点。 Web客户端是否为每个请求建立新的连接,或者连接在上传之间是否持续?用VB.Net上传多个文件

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 

回答

1

它会为每个文件创建一个新的TCP连接,因为它是HTTP工作的方式。

恕我直言,你的情况不是坏事。

+0

这不是FTP的工作方式。但是,System.Net不提供保持打开命令端口连接的替代方法。 – 2009-11-26 20:16:05

+1

当然,但请注意OP创建一个'System.Net.WebClient'实例,而不是'System.Net.FtpWebRequest' – 2009-11-26 20:35:25

0

这取决于您用于上传的原始程序。如果您使用的是HTTP,那么客户端将重新使用先前的连接(如果可以的话)。我不确定FTP - 我认为FTP也支持保持活跃。

在任何情况下,如果您担心性能问题,应该使用Wireshark查看连接使用情况。它是否每次创建一个新的连接?