运行 Azure 移动服务延迟工作
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
}
}
控制器 returns 立即按预期进行,但看起来 CreateExplosion
并未在任何时候被调用。
我做错了什么?
找到解决办法了,这里是:
Task.Run( async () => await CallAirstrike(coordinate) );
我正在尝试在 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
}
}
控制器 returns 立即按预期进行,但看起来 CreateExplosion
并未在任何时候被调用。
我做错了什么?
找到解决办法了,这里是:
Task.Run( async () => await CallAirstrike(coordinate) );