หลังจากเปลี่ยน URLPrefix ฉันได้รับข้อผิดพลาดต่อไปนี้:
มิดเดิลแวร์หน้าเริ่มต้นของ SPA ไม่สามารถส่งคืนหน้าเริ่มต้น '/index.html' ได้เนื่องจากไม่พบและไม่มีมิดเดิลแวร์อื่นจัดการคำขอ
บางสิ่งจำเป็นต้องบอกจุดหลักของ dotnet เกี่ยวกับคำนำหน้า แต่ฉันไม่สามารถหาชุดค่าผสมที่เหมาะสมได้
ช่วยชื่นชมมาก
รหัสด้านล่าง:
HostBuilder ถูกตั้งค่าด้วย:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseHttpSys(options =>
{
options.AllowSynchronousIO = false;
options.Authentication.Schemes = AuthenticationSchemes.None;
options.Authentication.AllowAnonymous = true;
options.MaxConnections = null;
options.MaxRequestBodySize = 30000000;
options.UrlPrefixes.Add("http://localhost:5005/Product/Site");
});
webBuilder.UseStartup<Startup>();
});
ConfigureServices:
public override void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/build";
});
services.AddMvc();
services.AddResponseCompression(opts =>
{
opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(
new[] { "application/octet-stream" });
});
}
จากนั้นกำหนดค่าคือ:
app.UseSpaStaticFiles();
app.UseRouting();
app.UseEndpoints
(
endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action=Index}/{id?}");
}
);
app.UseSpa(spa =>
{
//spa.Options.DefaultPage = reactPath + "/index.html";
spa.Options.DefaultPage = "/index.html";
spa.Options.SourcePath = "ClientApp";
});