vb.net 4.5 프레임 워크에서 매우 간단한 작업을 수행하려고합니다. 심볼화할 간단한 비동기 작업 (Asyncrnously/Parallel)을 생성하고 실행하십시오.vb.net task.delay가 브라우저를 잠급니다.
나는 매우 간단한 MVC 애플 리케이션과 하나의 컨트롤을 vs2012와 vb.net을 사용하고 있습니다. 은 "task.delay는"밖으로 언급 할 때 코드는 간단하다
>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim newTask As Task(Of String) = TryPause()
lblResults2.Text = newTask.Result
End Sub
Public Async Function TryPause() As Task(Of String)
Await Task.Delay(100)
Return "hello World"
End Function
코드는 잘 실행됩니다. 그러나 코드가 코드 안에 있으면 브라우저가 잠 깁니다.
주의 사항 : 잘 작동 Thread.sleep를 ....
내가 무엇을 놓치고?
'작업'을 동 기적으로 대기하려면'.Result'를 사용하지 마십시오. 이로 인해 코드가 중단되는 교착 상태가 발생합니다. – SLaks
감사합니다. 현재 여러 프로세스를 병렬로 실행하고 결과를 주 호출자에게 반환하려고합니다. 나는 thread.sleep을 상징하는 taskfactory로 성공했다. 하지만 나는 일을 할 수 없습니다 .delay가 작동합니다. 거의 백그라운드 스레드로 가고 호출자에게 다시 돌아 오지 않는 것처럼 보입니다. 나는 webforms/mvc에서 이것을 시도하고있다. 지연을 증명하지 않고 실제 데이터베이스 호출을 시작하려고합니다. –