同步调用函数 "ReadAsMultipartAsync"

Call function "ReadAsMultipartAsync" synchronously

我正在使用 Navision 在 C# 库中调用 ReadAsMultipartAsync().Result,但这会阻止 Navision。如果我使用 await 和 sync 更改库,我将无法管理来自 Navision 的任务结果,因此我想以同步方式调用“ReadAsMultipartAsync”函数。

如果我这样做:streamCont.ReadAsMultipartAsync(provider).Wait(TimeSpan.FromSeconds(20)); 有效,但我在这个案例上花了 20 秒。

有什么方法可以在不阻塞 Navision 的情况下等待 ReadAsMultipartAsync 的任务?。谢谢

我找到了一种行之有效的方法。这很有趣,但这会阻止导航:

Task<MultipartMemoryStreamProvider> task = streamContent.ReadAsMultipartAsync();
task.Wait();

这两个工作正常:

Task thread1 = Task.Factory.StartNew(() => result = streamContent.ReadAsMultipartAsync().Result);
Task.WaitAll(thread1);
Task tarea1 = new Task(() => result = streamContent.ReadAsMultipartAsync().Result);
tarea1.Start();
tarea1.Wait();

我不知道第一个选项和其他选项有什么区别,或者在某些情况下它是否会报错,但目前看来它可以工作。