System.Threading.Tasks 라이브러리를 사용하여 100 % 비동기 방식으로 WCF 서비스 호출을 시작하려고합니다. 아래 코드 예제에서 HandleChange 메서드를 호출하면 클라이언트 서비스 호출이 완료 될 때까지 기다린 후 해당 줄을 지나가는 것으로 보입니다. 이런 식으로하고 싶습니다만, "쇼를 열지 마십시오"- 클라이언트 콜이 완료되기 전에 이것을 호출하여 다음 코드 행으로 넘어가도록하는 메소드를 원합니다. 나는 잘못 접근하고 있을지도 모르므로, 내가 잘못하고있는 일에 대해 누군가가 통찰력을 제공 할 수 있다면, 또는 내가 여기있는 일을 어떻게 성취 할 수 있는지, 크게 고맙게 생각한다.Sub() 비동기 동작을 사용하는 병렬 호출
Imports System.Threading.Tasks
Public Class ChangeWrapper
Public Shared Sub HandleChange(ByVal orgEntity As MainObjectBase, ByVal newEntity As MainObjectBase)
Parallel.Invoke(Sub()
Using client As New EventQueueService.EventQueueClient
client.QueueDecision(orgEntity, newEntity)
End Using
End Sub)
End Sub
End Class
편집 : 나는 SLaks에 따라 변경된 것을 반영하기는 Parallel
클래스는하지만, 동 기적, 병렬로 일을 실행하는 데 사용
Imports System.Threading.Tasks
Public Class ChangeWrapper
Public Shared Sub HandleChange(ByVal orgEntity As MainObjectBase, ByVal newEntity As MainObjectBase)
Task.Factory.StartNew(Sub()
Using client As New EventQueueService.EventQueueClient
client.QueueDecision(orgEntity, newEntity)
End Using
End Sub)
End Sub
End Class
고맙습니다. 이것은 완벽하게 작동합니다. – wakurth