Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.net托管了多个blazor应用程序_C#_Asp.net Core_Blazor - Fatal编程技术网

C# Asp.net托管了多个blazor应用程序

C# Asp.net托管了多个blazor应用程序,c#,asp.net-core,blazor,C#,Asp.net Core,Blazor,我将我的网站划分为多个blazor应用程序,其中每个模块都应通过一个子路径进行路由,例如: 产品模块应通过url“域/产品”访问 等等 因此,在调用asp.net核心服务器项目时,请在configure方法中 app.UseBlazor<Products.Startup>() app.UseBlazor() 通过“域/产品/*”路由所有单页应用程序url的正确方法是什么 谢谢您可以将blazor应用托管在子文件夹中,其中包含: app.Map(“/subfolder”,child

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

因此,在调用asp.net核心服务器项目时,请在configure方法中

app.UseBlazor<Products.Startup>()
app.UseBlazor()
通过“域/产品/*”路由所有单页应用程序url的正确方法是什么


谢谢

您可以将blazor应用托管在子文件夹中,其中包含:

app.Map(“/subfolder”,child=>{child.UseBlazor();})

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


如果你喜欢我现在正在寻找这个,这将得到你所需要的(据我所知)

app.Map(“/site1”,app=>
{
app.UseRouting();
app.UseAuthorization();
app.UseClientSideBlazorFiles();
app.UseEndpoints(端点=>
{
MapFallbackToClientSideBlazor(“index.html”);
});
});

是否有任何方法可以保持基本标记的href不变?据我所知,这是路由所必需的,因此,如果您不使用它,可能是因为更改href会使访问API端点变得更困难或不可能,根本不可能。你可以很高兴地为你的后端调用使用任何url,我一直在这样做。index.html中的base href对该部分没有影响。app.Map(…)部分在最新版本中不再适用。只需更改该选项即可。
            app.Map("/site1", app =>
            {
                app.UseRouting();
                app.UseAuthorization();
                app.UseClientSideBlazorFiles<Site1.Startup>();
                app.UseEndpoints(endpoints =>
                {
                    endpoints.MapFallbackToClientSideBlazor<Darixidor.Site.Startup>("index.html");
                });
            });