Asp.net mvc 返回数据后运行代码

Asp.net mvc 返回数据后运行代码,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我有这样一个web api: public async Task<IHttpActionResult> PostTest(Model model) { db.UserOrders.Add(model); await db.SaveChangesAsync(); await PushUtils.SendPush("title" , "message"); // heavy task return Ok(); } 公共异步任务后测试(模型) { db.U

我有这样一个web api:

public async Task<IHttpActionResult> PostTest(Model model)
{
    db.UserOrders.Add(model);
    await db.SaveChangesAsync();
    await PushUtils.SendPush("title" , "message"); // heavy task
    return Ok();
}
公共异步任务后测试(模型)
{
db.UserOrders.Add(模型);
等待db.saveChangesSync();
等待PushUtils.SendPush(“标题”、“消息”);//任务繁重
返回Ok();
}

在这种方法中,用户必须等到繁重的任务执行完毕。
将值返回给用户后,是否有任何方法执行此任务?

我使用:

公共异步任务后测试(模型)
{
db.UserOrders.Add(模型);
等待db.saveChangesSync();
背景工作,日程安排(
()=>PushUtils.SendPush(“标题”、“消息”),
时间跨度从秒(7)开始;
返回Ok();
}
我用过:

公共异步任务后测试(模型)
{
db.UserOrders.Add(模型);
等待db.saveChangesSync();
背景工作,日程安排(
()=>PushUtils.SendPush(“标题”、“消息”),
时间跨度从秒(7)开始;
返回Ok();
}
this colud帮你..this colud帮你。。
public async Task<IHttpActionResult> PostTest(Model model)
{
    db.UserOrders.Add(model);
    await db.SaveChangesAsync();

    BackgroundJob.Schedule(
    () => PushUtils.SendPush("title" , "message"),
    TimeSpan.FromSeconds(7));

    return Ok();
}