web-dev-qa-db-ja.com

ASP.NET Core 3.0エンドポイントの「MapSpaFallbackRoute」に相当するものは何ですか?

ASP.NET Core 2.xでは、Configure拡張を使用するSPAアプリケーションに対して、標準ルートレジステーションStartupクラスのMapSpaFallbackRouteクラスをregister fallback routeに使用しましたMicrosoft.AspNetCore.SpaServices.Extensions Nugetパッケージのメソッド:

public void Configure(IApplicationBuilder app)
{
    // ...
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
        routes.MapSpaFallbackRoute(
            name: "spa-fallback",
            defaults: new { controller = "Home", action = "Index" });
    });
}

エンドポイントの登録にASP.NET Core 3.0推奨のUseEndpoints拡張メソッドを使用すると、同様の拡張メソッドが見つかりません。

23
Nenad

ASP.NET Core 3.0拡張メソッドでは、MapFallbackToControllerMapSpaFallbackRoute拡張メソッドと同じ機能を備えています。

public void Configure(IApplicationBuilder app)
{
    app.UseRouting();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");

        endpoints.MapFallbackToController("Index", "Home");
    });
}
33
Nenad

この決定は私を助けました!

public void Configure(IApplicationBuilder application)
{
    application
        // other extensions...
        .UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute())
        .UseSpa(_ => { }); // extension from 'Microsoft.AspNetCore.SpaServices.Extensions' Assembly
}
1