Как app.UseRouting() и app.UseEndpoints() влияют на процесс сопоставления конечных точек в ASP.NET Core?C#

Место общения программистов C#
Anonymous
Как app.UseRouting() и app.UseEndpoints() влияют на процесс сопоставления конечных точек в ASP.NET Core?

Сообщение Anonymous »

Я постепенно знакомлюсь с документацией по маршрутизации ASP.NET Core.
В ней говорится: приложениям обычно не требуется вызывать UseRouting или UseEndpoints. WebApplicationBuilder настраивает конвейер промежуточного программного обеспечения, который оборачивает промежуточное программное обеспечение, добавленное в Program.cs, с помощью UseRouting и UseEndpoints. Однако приложения могут изменить порядок выполнения UseRouting и UseEndpoints, явно вызвав эти методы.
Насколько я вижу, следующий код должен возвращать «Inspect Endpoint». в маршруте «/» и везде «Нет доступных конечных точек». Вместо этого я всегда получаю ответ «Нет доступных конечных точек».

Код: Выделить всё

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Inspect Endpoint.");

app.Run(async context =>
{
await context.Response.WriteAsync("Out of available endpoints");
});

app.Run();
Но если я добавлю следующие инструкции перед app.MapGet(...), результат окажется таким, как ожидалось:

Код: Выделить всё

app.UseRouting();
app.UseEndpoints(_ => { });
Можете ли вы объяснить, почему это так и в чем я ошибаюсь? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/781 ... atching-pr

Вернуться в «C#»