繁体   English   中英

带有 Blazor WASM 和通配符 URL 的 ASP.Net Core Razor

[英]ASP.Net Core Razor with Blazor WASM and Wildcard URL

我正在创建一个以 Blazor WASM 作为管理员的网站,而 Core Razor 是主站点。 到目前为止,我没有任何问题混合两者,但是在主站点上我有一个 Wildcar url,如果我启用它,它会得到任何“/{*url}”,Blazor 停止工作,有可能做到吗? 这是我的 Program.cs

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages(options =>
{
    options.Conventions.AddPageRoute("/Dynamic/index", "{*url}");
});

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
}
else
{
    app.UseWebAssemblyDebugging();
}
app.UseStaticFiles();

app.UseBlazorFrameworkFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.MapFallbackToFile("admin/{*path:nonfile}", "admin/index.html");

app.Run();

谢谢

我能够弄清楚。 这是我的代码,以防有人遇到同样的问题:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages(options =>
{
    options.Conventions.AddPageRoute("/Dynamic/index", "{*url}");
});

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
}
else
{
    //add for blazor client
    app.UseWebAssemblyDebugging();
}
app.UseStaticFiles();

//add blazor
app.UseBlazorFrameworkFiles();

app.MapWhen(context => context.Request.Path.StartsWithSegments("/admin"), appBuilder =>
{
    appBuilder.Use((context, nxt) =>
    {
        context.Request.Path = "/admin" + context.Request.Path;
        return nxt();
    });

    appBuilder.UseStaticFiles();
    appBuilder.UseRouting();

    appBuilder.UseAuthentication();
    appBuilder.UseAuthorization();

    appBuilder.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
        endpoints.MapFallbackToFile("admin/{*path:nonfile}", "admin/index.html");
    });
});

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM