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 才能获取它。