У меня есть функция Azure, которая работает дольше, чем ожидалось.Когда поступает сообщение http, оно обрабатывает авторизацию заголовка и выполняет асинхронную задачу, которая обрабатывает большую часть обработки перед возвратом возврата OK.Когда я закомментирую асинхронную задачу, которая обрабатывает обработку, я получаю возврат около 60 мс, но при запуске асинхронной задачи это занимает около 8000 мс.Если я жду этого, это займет около 20000 мс.Есть идеи, почему асинхронная задача не продолжается немедленно с оператором return?
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
string ret = "";
string id = "";
try
{
IEnumerable<string> headerValues = req.Headers.GetValues("Token");
id = headerValues.FirstOrDefault();
}
catch
{
return req.CreateResponse(HttpStatusCode.Unauthorized);
}
log.Info("Got Token " + id);
if (!string.IsNullOrEmpty(id) && id == "proper token")
{
Execute(req);
return req.CreateResponse(HttpStatusCode.OK, ret);
}
else
{
return req.CreateResponse(HttpStatusCode.Unauthorized);
}
}
public static async Task Execute(HttpRequestMessage req)
{
//processing code here
}