Vb.net 上载到FTP时忽略用户输入
我正在开发一个windows应用商店应用程序,我正在使用WebRequest将一个文件上传到FTP服务器,因为这是我能找到的唯一解决方法,但我有一些限制 当应用程序上传视频时(需要几分钟),如果用户点击屏幕,应用程序将崩溃。如果没有输入,它将正常工作 当我使用Alex Pilotti的FTPS客户端DLL时,没有发生这种情况,但我无法获得使用此DLL的windows应用商店的认证 在我的电脑中,这种情况不会发生。它将等待视频上传,然后执行用户输入,但在平板电脑中情况就不同了,可能是因为它的处理能力/内存较低,它只是崩溃了 我在想:也许有一种方法可以在上传过程中忽略所有用户输入 我知道这不是最好的方法,像那样从用户那里获得控制权,但它可以完成任务,而且只需要几分钟 我一直在谷歌上搜索,但我找不到一个方法来做这件事 我将在下面留下我的代码,以防万一:Vb.net 上载到FTP时忽略用户输入,vb.net,input,upload,windows-store-apps,webrequest,Vb.net,Input,Upload,Windows Store Apps,Webrequest,我正在开发一个windows应用商店应用程序,我正在使用WebRequest将一个文件上传到FTP服务器,因为这是我能找到的唯一解决方法,但我有一些限制 当应用程序上传视频时(需要几分钟),如果用户点击屏幕,应用程序将崩溃。如果没有输入,它将正常工作 当我使用Alex Pilotti的FTPS客户端DLL时,没有发生这种情况,但我无法获得使用此DLL的windows应用商店的认证 在我的电脑中,这种情况不会发生。它将等待视频上传,然后执行用户输入,但在平板电脑中情况就不同了,可能是因为它的处理能
Public Async Function uploadFile(filename As String, file As StorageFile) As Task(Of Boolean)
Try
Dim ftpURL As String = "ftp://111.22.33.444"
Dim request As WebRequest = WebRequest.Create(ftpURL + "/" + filename)
request.Credentials = New NetworkCredential("user", "pass")
request.Method = "STOR"
Dim buffer As Byte() = Await ReadFileToBinary(filename, file)
Dim requestStream As Stream = Await request.GetRequestStreamAsync()
Await requestStream.WriteAsync(buffer, 0, buffer.Length)
Await requestStream.FlushAsync()
Return True
Catch ex As Exception
Return False
End Try
End Function
我用一行非常简单的代码解决了这个问题:
Await Task.Run(Function() uploadFile(filename, file))
为我工作