以前我们会将类似下面的代码添加到 Global.aspx.cs
中,但在 .NET Core 中已经不存在了:
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
以下是我目前在我的Startup.cs
中使用的代码(针对 .NET Core):
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
});
问题在于在MVC(在Core版之前)routes
是一个RouteCollection
,而在.NET Core中它是一个Microsoft.AspNetCore.Routing.IRouteBuilder
,因此IgnoreRoute
不是有效的方法。
StartsWith("/favicon.ico")
来替换Contains(...)
。除此之外,这是一个优秀的回答。 - Alexei - check Codidact