Решение на основе Блог Марка Винча
Этот метод используется для извлечения идентификатора пользователя и работы с ним ...
private static void AddAddressesRoute(IApplicationBuilder app, RouteBuilder builder)
{
builder.MapVerb(
HttpMethod.Get.Method,
"users/{userId}/addresses",
async context =>
{
var routeData = context.GetRouteData();
var userId = routeData.Values["userId"];
// userId available from here
}
);
}
Должен быть инициирован изметод расширения компоновщика приложений.
public static IApplicationBuilder UseAddresses(
this IApplicationBuilder app
)
{
RouteBuilder builder = new RouteBuilder(app);
AddAddressesRoute(app, builder);
app.UseRouter(builder.Build());
return app;
}
Становится промежуточным программным обеспечением, которое может быть добавлено к методу Startup.Configure следующим образом:
app.UseAddresses()
Это даже не мешает MVC, которыйпо-прежнему срабатывает, если маршрут не совпадает.