gpt4 book ai didi

asp.net-mvc - ASP.NET Core 将路由映射到静态文件处理程序

转载 作者:行者123 更新时间:2023-12-04 11:21:36 24 4
gpt4 key购买 nike

我正在使用 Angular 开发 ASP.NET Core 网站(以前称为 ASP.NET 5/vNext)。为了让 Angular 正常工作,我需要有一个包罗万象的路线:

app.UseStaticFiles(); 
app.UseMvc(routes =>
{
// Angular fallback route
routes.MapRoute("angular", "{*url}", new { controller = "Home", action = "Index" });
});

我在 wwwroot 中也有一些文件/文件夹,例如:
wwwroot/app
wwwroot/assets
wwwroot/lib

当对这些路径发出任何请求时,例如 http://example.com/assets/css/test.css ,并且文件( test.css )不存在,它不应该继续回退路线。它应该返回 404。

现在,如果该文件不存在,它将返回 Angular HTML。那么,我怎么能告诉它任何以“/assets”开头的路径只能由 UseStaticFiles 路由/提供服务?

最佳答案

这似乎有效:

app.MapWhen(
context => {
var path = context.Request.Path.Value.ToLower();
return
path.StartsWith("/assets") ||
path.StartsWith("/lib") ||
path.StartsWith("/app");
},
config => config.UseStaticFiles());

但是,我不确定是否有任何性能(或其他类型的)影响。如果我遇到任何我会更新。

关于asp.net-mvc - ASP.NET Core 将路由映射到静态文件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35587488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com