【发布时间】:2020-05-10 03:08:31
【问题描述】:
在我的 asp.net 应用程序中,我正在调用我添加到我的应用程序中的一个 nuget 包的一些异步方法。现在我有一个同步方法,我需要在其中调用我添加的 .dll 的异步方法。因此,为此我调用了这些方法并检索我使用的结果
var value = myDllClient.MyMethod().GetAwaiter().GetResult();和
var value = myDllClient.MyMethod().Result;,
但是这些都不适合我,但是线程进入了永无止境的过程。我从来没有收到任何东西
所以我用
var value = Task.Run(async ()=> await myDllClient.MyMethod()).Result;
出奇地工作正常。
我不知道它是如何工作的?
谁能帮我理解这个奥秘?
提前致谢
【问题讨论】:
-
不工作 - 你的意思是卡在
.GetResult()或.Result行而不进一步执行? -
我从未在 .GetRestul() 处收到任何丢失的电话
标签: c# multithreading dll async-await task-parallel-library