Как я могу ответить на задержку с помощью кода состояния Ok200 в течение 3 секунд в функции Azure и позволить функции продолжать работу для отложенных ответов. Я пробовал разветвлять отложенные ответы на другой поток, но как только функция вернула Ok200, собранный мусор частично отключил другой поток.
public static class TestHTTPSlackTrigger
{
[FunctionName("TestHTTPSlackTrigger")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req)
{
Slash slash = new Slash(await new StreamReader(req.Body).ReadToEndAsync());
_ = Task.Run(async () =>
{
Thread.Sleep(3000);
await Send.MessageAsync("Delayed Message", slash.ResponseURL);
});
return new OkObjectResult(JsonConvert.SerializeObject(slash, Formatting.Indented).Replace(" ", " "));
}
}