Да.Хотя мы часто используем маршрутизацию с MVC, Routing - это проект, который не зависит от MVC .
При работе вместе с ASP.NET Core, маршрутизация работает как RouterMiddlewareза кулисами .Если вы не хотите использовать MVC, просто создайте маршрутизатор:
private IRouter BuildRouter(IApplicationBuilder applicationBuilder)
{
var builder = new RouteBuilder(applicationBuilder);
// use middlewares to configure a route
builder.MapMiddlewareGet("/api/hello", appBuilder => {
appBuilder.Use(async (context,next) => {
context.Response.Headers["H1"] = "Hello1";
await next();
});
appBuilder.Use(async (context,next) => {
context.Response.Headers["H2"] = "Hello2";
await next();
});
appBuilder.Run(async (context) => {
await context.Response.WriteAsync("Hello,world");
});
});
builder.MapMiddlewarePost("/api/hello", appBuilder => {
// ...
});
// ....
return builder.Build();
}
и зарегистрируйте промежуточное ПО маршрутизатора
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// ...
app.UseRouter(BuildRouter(app));
}
Вот снимок экрана, когда он работает: