Этот код
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
Указывает ASP.NET Core «запустить» промежуточное ПО.Запуск промежуточного программного обеспечения означает, что с учетом HttpContext
прочитайте запрос и запишите результат - в отличие от «использования» промежуточного программного обеспечения, что означает, что промежуточное программное обеспечение может выполняться или может откладывать выполнение до следующего промежуточного программного обеспечения в цепочке.Это характерно для ASP.NET Core, а не для C #.
Метод app.Run()
ожидает делегата в форме асинхронной функции, которая принимает один параметр HttpContext
.Лямда-выражение (context)=> { }
является сокращением для анонимной функции с единственным параметром с именем context
.Компилятор C # распознает тип context
на основе ожидаемого прототипа.Вы можете написать этот код так:
app.Run(helloWorldHandler);
...
private async Task helloWorldHandler(HttpContext context) {
await context.Response.WriteAsync("Hello World!");
}