Mam problem z aplikacją WWW ASP.NET Core działającą w IIS 10. Pracuję nad aplikacją Single Page z AngularJS.Błąd ASP.NET Core 404 na IIS 10
Plik index.html ładuje się idealnie, ale żądania zaplecza nie zawierają kodu błędu 404 w programie IIS 10. Program Visual Studio z usługą IIS Express działa doskonale.
Czy ktoś może wykryć, jak mogę poprawić żądania backendu?
Oto mój Program.cs
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
A oto moja metoda Konfiguracja z Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseIdentity();
// Custom middleware for Angular UI-Router
app.Use(async (context, next) =>
{
if (!Path.HasExtension(context.Request.Path.Value)
&& context.Request.HttpContext.Request.Headers["X-Requested-With"] != "XMLHttpRequest"
&& context.Request.Method.ToUpper() != "POST"
&& context.Request.Method.ToUpper() != "PUT"
&& context.Request.Method.ToUpper() != "DELETE")
{
await context.Response.WriteAsync(File.ReadAllText(env.WebRootPath + "/index.html"));
}
await next();
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "api/{controller=Home}/{action=Index}/{id?}");
});
}
Włącz rejestrowanie w środowisku ASP.NET Core (prawdopodobnie z poziomem dziennika debugowania) i zobacz, czy są jakieś komunikaty o tym, dlaczego to się nie udało –
Opublikuj także swój plik web.config. –
Czy skonfigurowałeś usługi MVC? –