我正在尝试实现 fire and forget async 方法,以记录用于审计目的。
我正在关注这个例子Async throw-away fire-and-forget with C#.NET。
public async Task MessageAsync(string message, DateTime date)
{
_logger.Info($"At {DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture)}: {message}");
await Task.Yield(); //NOT POSSIBLE IN .NET 4.0
}
但是我有使用.net framework 4.0的限制,我不能使用
await Task.Yield();
我知道这是确保该方法异步执行的唯一方法,来自Microsoft:
您可以使用 await Task.Yield(); 在异步方法中强制方法异步完成。
我的问题是:在.net 4.0 中这个实现的替代方案是什么?