案例
我正在构建REST API,它应该在尽可能短的时间内响应,也应该尽快做一些后台工作。后台工作最多可能需要10秒,但对于API响应时间要求来说太多了。
它是.NET Core,在Azure应用服务中的Docker(linux)中运行。
我不想使用Hangfire或Quartz.NET,它太重了。
所以我决定做这样的事情
public async Task<bool> ReceiveAction(string id)
{
// do some async stuffs
#pragma warning disable 4014
Task.Factory.StartNew(async () => { await DoWork(); }, TaskCreationOptions.RunContinuationsAsynchronously);
#pragma warning restore 4014
return true;
}
问题
安全吗?
这是好的做法吗?
如果没有,我该怎么办?