[英]Running delayed work on Azure Mobile Service
我正在尝试在Azure上构建游戏服务器。 我有一个控制器,应该在30秒后触发游戏中的空袭。
我是C#和Azure的新手。 这是我的糟糕尝试:
public class CallAirstrikeController : ApiController
{
public ApiServices Services { get; set; }
public Whatever Post(Coordinate coordinate)
{
CallAirstrike(coordinate); // Don't wait
// Do other things...
return whatever;
}
private async Task CallAirstrike(Coordinate coordinate)
{
await Task.Delay(30000); // Wait for it...
CreateExplosion(coordinate); // Boom
}
}
控制器将立即按预期返回,但看起来好像在任何时候都没有调用CreateExplosion
。
我究竟做错了什么?
有一个解决方案,这里是:
Task.Run( async () => await CallAirstrike(coordinate) );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.