我有一个Web应用程序,需要在单击按钮后将一批文件从一个文件共享服务器复制到另一台文件共享服务器,异步和主动似乎是实现此目的的一种好方法。 我不确定是否需要Task.Run在这里? RunMoving()是否可以更好地移入另一个类以提高性能?
这是我的VB.NET代码,如下所示:
Public Sub FileMoving()
PdfsMovingAsync()
DoSomethingElse()
End Sub
Private Async Sub PdfsMovingAsync()
Await Task.Run(Sub() RunMoving())
End Sub
Private Sub RunMoving()
'Thread.Sleep(2000)
End Sub
答案 0 :(得分:2)
PdfsMovingAsync
应该返回Task
。您要避免使用异步订阅。
由于DoSomethingElse
不依赖于PdfsMovingAsync
首先完成,因此它们可以同时运行。
Public Sub FileMoving()
PdfsMovingAsync()
DoSomethingElse()
End Sub
Private Function PdfsMovingAsync() As Task
Return Task.Run(Sub() RunMoving())
End Function
Await
最好用于首先依赖某个函数的函数。