2013-12-16 2 views
0

Windows 저장소 앱을 개발 중이며 WebRequest가 포함 된 FTP 서버에 파일을 업로드하고 있습니다. .FTP로 업로드 중 사용자 입력을 무시합니다.

응용 프로그램에서 비디오를 업로드하는 데 몇 분이 소요됩니다. 사용자가 화면을 탭하면 응용 프로그램이 중단됩니다. 입력이 없으면 정상적으로 작동합니다.

Alex Pilotti의 FTPS Client DLL을 사용하고있을 때이 문제가 발생하지 않았지만이 DLL을 사용하여 Windows 저장소에 대한 인증을 얻을 수 없었습니다.

내 PC에서는 이런 일이 발생하지 않습니다. 동영상이 업로드 될 때까지 기다렸다가 사용자 입력을 실행하지만 태블릿에서는 처리 능력/메모리가 적어 충돌이 일어날 수 있으므로 다른 이야기입니다.

나는 생각하고 있었다 : 어쩌면 업로드가 진행되는 동안 모든 사용자 입력을 무시할 수있는 방법이있다.

나는 그런 식으로 사용자를 제어하는 ​​것이 가장 좋은 방법은 아니지만 일을하고 몇 분 동안 만 수행 할 것임을 알고 있습니다.

저는 인터넷 검색을 해왔지만이 방법은 없습니다.

난 그냥 경우에, 아래에있는 내 코드를 떠날 것이다 : 나는 코드의 매우 간단한 선으로이 문제를 해결

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)) 

나를 위해 일했다.

관련 문제