asp vnext,忽略路由
asp vnext, ignore route
我正在使用 vnext 并正在使用路由,但它路由一切。
这很好(来自 Startup.cs):
application.UseMvc(routes =>
{
// setup routes
// default mapping
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
但是当我使用(在视图中)
<link href='@Url.Content("~/CDN/r.css")' rel="stylesheet" />
或
<img src="/CDN/i.png" />
它给出了 404 错误。
那么如何像以前的版本一样设置忽略路由?
thnx
您应该在 MVC 之前注册一个 StaticFiles
中间件,用于您想要提供静态文件(如 .css
、.png
等)的情况。这样静态文件的请求就会得到处理通过这个中间件,不会到达 MVC。
// Add static files to the request pipeline.
app.UseStaticFiles();
application.UseMvc(routes =>
{
// setup routes
// default mapping
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
您需要在 project.json 中添加软件包 Microsoft.AspNet.StaticFiles
才能获取它。
我正在使用 vnext 并正在使用路由,但它路由一切。
这很好(来自 Startup.cs):
application.UseMvc(routes =>
{
// setup routes
// default mapping
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
但是当我使用(在视图中)
<link href='@Url.Content("~/CDN/r.css")' rel="stylesheet" />
或
<img src="/CDN/i.png" />
它给出了 404 错误。
那么如何像以前的版本一样设置忽略路由?
thnx
您应该在 MVC 之前注册一个 StaticFiles
中间件,用于您想要提供静态文件(如 .css
、.png
等)的情况。这样静态文件的请求就会得到处理通过这个中间件,不会到达 MVC。
// Add static files to the request pipeline.
app.UseStaticFiles();
application.UseMvc(routes =>
{
// setup routes
// default mapping
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
您需要在 project.json 中添加软件包 Microsoft.AspNet.StaticFiles
才能获取它。