我正在尝试使用 System.Threading.Tasks 库以 100% 异步方式触发 WCF 服务调用。当我在下面的代码示例中调用 HandleChange 方法时,它似乎仍然要等到客户端服务调用完成才能继续前进。我想做这样的事情,但不是“暂停演出”——这意味着我希望调用它的方法在客户端调用完成之前移动到下一行代码。我可能只是错误地处理了这个问题,所以如果有人能提供关于我做错了什么的见解,或者我如何能在这里实现我的目标,我将不胜感激。
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 Answer 所做的更改
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