【问题标题】:Asp.net hosted multiple blazor appsAsp.net 托管了多个 blazor 应用程序
【发布时间】:2019-04-03 08:31:01
【问题描述】:

我将我的网站划分为多个 blazor 应用程序,其中每个模块都应通过子路径进行路由,例如: 产品模块应该通过 url "domain/products" 访问 等等

所以在我的asp.net核心服务器项目的configure方法中调用时

app.UseBlazor<Products.Startup>()

通过“域/产品/*”路由所有单页应用程序 url 的正确方法是什么

谢谢

【问题讨论】:

    标签: c# asp.net-core blazor


    【解决方案1】:

    您可以在子文件夹中托管您的 blazor 应用程序:

    app.Map("/subfolder", child =&gt; { child.UseBlazor&lt;Blazor.Program&gt;(); });

    并在 index.html 中更改 blazor 应用程序的基本路径,如下所示:

    &lt;base href="/subfolder/" /&gt;

    【讨论】:

    • 有什么办法可以保持base标签的href不变
    • 我不知道,路由需要它,所以如果你不使用它可能会
    • 因为更改 href 会使访问 api 端点变得更难或更困难
    • 不,一点也不。您可以愉快地使用任何 url 进行后端调用,我一直在这样做。 index.html 中的基本 href 对此没有影响。
    • app.Map(...) 部分不再适用于最新版本。只需要更改
    【解决方案2】:

    如果你和我一样现在正在寻找这个,这将为你提供所需的东西(据我所知)

                app.Map("/site1", app =>
                {
                    app.UseRouting();
                    app.UseAuthorization();
                    app.UseClientSideBlazorFiles<Site1.Startup>();
                    app.UseEndpoints(endpoints =>
                    {
                        endpoints.MapFallbackToClientSideBlazor<Darixidor.Site.Startup>("index.html");
                    });
                });
    

    【讨论】:

      猜你喜欢
      • 2020-09-23
      • 2018-02-18
      • 2021-10-17
      • 1970-01-01
      • 2021-10-26
      • 2019-07-02
      • 2018-11-15
      • 1970-01-01
      • 2011-01-11
      相关资源
      最近更新 更多