diff --git a/AspNetCore/Stencil/AdvancedSearch/EqDemo.AspNetCoreStencil.AdvancedSearch.csproj b/AspNetCore/Stencil/AdvancedSearch/EqDemo.AspNetCoreStencil.AdvancedSearch.csproj index 8ea48d12..669acf3c 100644 --- a/AspNetCore/Stencil/AdvancedSearch/EqDemo.AspNetCoreStencil.AdvancedSearch.csproj +++ b/AspNetCore/Stencil/AdvancedSearch/EqDemo.AspNetCoreStencil.AdvancedSearch.csproj @@ -1,6 +1,6 @@ - net6.0 + net8.0 true Latest false @@ -8,20 +8,21 @@ $(DefaultItemExcludes);$(SpaRoot)node_modules\** EqDemo.AspNetCoreStencil.AdvancedSearch true + npm start + http://localhost:4444 - - - - - - + + + + + + - + - @@ -69,4 +70,4 @@ - \ No newline at end of file + diff --git a/AspNetCore/Stencil/AdvancedSearch/Startup.cs b/AspNetCore/Stencil/AdvancedSearch/Startup.cs index 3cf95eb8..ce3ba97e 100644 --- a/AspNetCore/Stencil/AdvancedSearch/Startup.cs +++ b/AspNetCore/Stencil/AdvancedSearch/Startup.cs @@ -1,9 +1,11 @@ +using System.IO; using System.Data.SqlClient; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.Hosting; using Microsoft.EntityFrameworkCore; @@ -51,11 +53,6 @@ public void ConfigureServices(IServiceCollection services) // .RegisterDbGate(); // .RegisterDbGate(); - services.AddSpaStaticFiles(configuration => - { - configuration.RootPath = "ClientApp/www"; - }); - //to support non-Unicode code pages in PDF Exporter System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); } @@ -75,8 +72,14 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) } app.UseHttpsRedirection(); - app.UseStaticFiles(); - app.UseSpaStaticFiles(); + + var spaPath = Path.Combine(env.ContentRootPath, "ClientApp/www"); + if (Directory.Exists(spaPath)) + { + var fileProvider = new PhysicalFileProvider(spaPath); + app.UseDefaultFiles(new DefaultFilesOptions { FileProvider = fileProvider }); + app.UseStaticFiles(new StaticFileOptions { FileProvider = fileProvider }); + } app.UseCors("AllowAllPolicy"); @@ -108,14 +111,14 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) endpoints.MapControllerRoute( name: "default", pattern: "{controller}/{action=Index}/{id?}"); - }); - app.UseSpa(spa => - { - spa.Options.SourcePath = "ClientApp"; - - if (env.IsDevelopment()) { - spa.UseProxyToSpaDevelopmentServer("http://localhost:4444/"); + var fallbackSpaPath = Path.Combine(env.ContentRootPath, "ClientApp/www"); + if (Directory.Exists(fallbackSpaPath)) + { + endpoints.MapFallbackToFile("index.html", new StaticFileOptions + { + FileProvider = new PhysicalFileProvider(fallbackSpaPath) + }); } });