Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
用VB.Net上传多个文件_Vb.net_Winforms_Webclient - Fatal编程技术网

用VB.Net上传多个文件

用VB.Net上传多个文件,vb.net,winforms,webclient,Vb.net,Winforms,Webclient,我需要在winforms应用程序中上载多个文件。到目前为止,我一直在使用一个webclient,虽然它工作得很好,但我想知道是否有更好的方法来实现这一点。webclient是为每个请求建立新连接,还是在上传之间保持连接 Dim Ftpclient As New System.Net.WebClient() Ftpclient.Credentials = New System.Net.NetworkCredential(username, password) Dim Files As New D

我需要在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

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


在您的场景中,这不是一件坏事。

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


嗯,在你的场景中这不是一件坏事。

这取决于你上传时使用的协议。如果您使用的是HTTP,那么客户端将在可能的情况下重用以前的连接。我不确定FTP-我认为FTP也支持保持活动


在任何情况下,如果您关心性能,您应该使用Wireshark查看连接使用是如何完成的。是否每次都要创建一个新连接?

这取决于上传时使用的协议。如果您使用的是HTTP,那么客户端将在可能的情况下重用以前的连接。我不确定FTP-我认为FTP也支持保持活动


在任何情况下,如果您关心性能,您应该使用Wireshark查看连接使用是如何完成的。是不是每次都在创建新连接?

这不是FTP的工作方式。尽管如此,System.Net并没有提供保持命令端口连接打开的替代方案。当然,但请注意,创建
System.Net.WebClient
实例,而不是
System.Net.FtpWebRequest
FTP的工作方式并不完全相同。尽管如此,System.Net并没有提供保持命令端口连接打开的替代方法。当然,但请注意,OP创建
System.Net.WebClient
实例,而不是
System.Net.FtpWebRequest