如何从F#app等待一个简单的C#任务

时间:2014-10-15 17:14:07

标签: c# f# async-await

我在C#lib中有以下代码

public class A
{
  public async Task CreateEntity(Model m) { 
    /* no return here but await for db insert and set m.Id */ 
  }
}

我在F#中有另一个引用此lib的应用程序,并尝试调用CreateEntity。我希望能够等待它,但我找不到任何这方面的例子。 如何阻止或等待#39;在我的F#app中?似乎返回值不是Task<T>

这一事实存在问题

更新

有人可以让这个正常工作

我已经能够使用以下代码段重现该问题

open System.Threading.Tasks

let awaitTask = Async.AwaitIAsyncResult >> Async.Ignore

printfn "Before"
awaitTask(Task.Delay 10000)
printfn "After"

它在不到一秒的时间内返回,因此它不会等待

我确实看到这个问题与另一篇文章有​​关。但由于没有一个答案似乎有效,我再次问过它。如果有人能够提供一个完整的F#片段,那对我来说肯定会有很大帮助。

0 个答案:

没有答案