gpt4 book ai didi

asp.net-core - 如何在 ASP.NET Core MVC 应用程序中配置 Blazor Hub 映射

转载 作者:行者123 更新时间:2023-12-05 05:07:29 28 4
gpt4 key购买 nike

我有一个现有的 MVC 应用程序,我希望在其中使用 blazor 来满足某些特定要求。集成后,我发现在应用程序的索引页面上, Razor 组件工作正常,没有问题。但是当我移动到另一个页面时,它将失去 blazor hub 连接。我注意到这可能是一个映射问题,因为在主页上,[appurl]/_blazor 工作正常并且连接正常。但是当我转到另一个页面时,[appurl]/[controller]/_blazor 尝试连接但抛出 404。我怎样才能让它适用于应用程序的所有路由?

最佳答案

根据您的信息,我猜您缺少基本标签,或者您没有映射 BlazorHub。如果您愿意,例如 Blazor 处理/app/* 下的所有 URL,而其他 URL 由 MVC 处理,那么您的端点需要像这样配置:

app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/app/{*page}", "/_Host");
});

在你的_Host.cshtml然后你必须添加 <base href="/app" />

没有 endpoints.MapBlazorHub();你的组件将被渲染,但你不会连接到 Blazor-Server,并且没有 <base href="/app" />浏览器将执行完整的页面重新加载,而不是使用 Blazor 导航到新页面。

关于asp.net-core - 如何在 ASP.NET Core MVC 应用程序中配置 Blazor Hub 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59090230/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com