我们正在将 Blazor Server 应用程序迁移到 .NET 8。 之前,我们在
_Host.cshtml
中使用了自定义路由器来解析未通过 @page
定义的路由(基于约定的路由,类似于 MVC)。在新的托管模型中,对于 MapRazorComponents
,我找不到执行相同操作的方法,但对于 Razor 组件,在本例中为 App
。这是可能的还是我们必须回到_Host.cshtml
?
您可以将自定义路由构建为处理路由的中间件: 在Program.cs中:
app.Use(async (context, next) =>
{
// Check for custom routes
if (context.Request.Path.StartsWithSegments("/custom-route"))
{
// Handle custom routing logic
context.Response.Redirect("/CustomComponent");
return; // Skip the next middleware
}
await next.Invoke();
});