2013-12-16 3 views
0

Я разрабатываю приложение для магазина Windows, и я загружаю файл на FTP-сервер с помощью WebRequest, так как это была единственная работа, которую я мог найти, с ограничениями, которые у меня были ,Игнорировать ввод пользователя во время загрузки на FTP

Когда приложение загружает видео, которое занимает несколько минут, если пользователь удаляет экран, приложение будет аварийно завершено. Если вход не введен, он будет работать нормально.

Когда я использовал DLP-клиент AlexPS Piloti, этого не произошло, но я не смог получить сертификацию для магазина Windows, используя эту DLL.

На моем ПК этого не происходит. Он будет ждать, пока видео будет загружено, а затем выполнит ввод пользователя, но в планшете это другая история, может быть, потому, что у нее меньше вычислительной мощности/памяти, она просто падает.

Я думал: возможно, есть способ игнорировать все входные данные пользователя во время загрузки.

Я знаю, что это не лучший способ взять под контроль такого пользователя, но он выполнит эту работу, и это будет всего на несколько минут.

Я искал Google, но я не могу найти способ сделать это.

Я оставлю мой код ниже, только в случае, если:

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 

ответ

0

Я установил этот вопрос с очень простой строки кода:

Await Task.Run(Function() uploadFile(filename, file)) 

работал для меня.

Смежные вопросы