Точку входа можно пометить с помощью модификатора 'async' в CoreCLR?
В недавнем блоге Стефана Клири оАсинхронные консольные приложения в .NET CoreCLR он показывает нам, что в CoreCLR (в настоящее время работающем в Visual Studio 2015, CTP6) точка входа «Main» может быть помечена какasync Task
, правильно скомпилировать и запустить:
public class Program
{
public async Task Main(string[] args)
{
Console.WriteLine("Hello World");
await Task.Delay(TimeSpan.FromSeconds(1));
Console.WriteLine("Still here!");
Console.ReadLine();
}
}
Дает следующий вывод:
Это подтверждается сообщением в блоге от команды ASP.NET под названиемГлубокое погружение в среду выполнения ASP.NET 5:
В дополнение к статическомуProgram.Main
точка входа, KRE поддерживает основанные на экземпляре точки входа. Вы даже можете сделать основную точку входа асинхронной и вернуть задачу. Если основная точка входа будет методом экземпляра, вы можете внедрить службы в ваше приложение средой выполнения.
Мы знаем это до сих пор,Точка входа не может быть помечена модификатором «async», Итак, как это на самом деле возможно в новой среде выполнения CoreCLR?