gpt4 book ai didi

c# - 忽略 ASP.NET MVC 中的路由

转载 作者:可可西里 更新时间:2023-11-01 08:07:03 26 4
gpt4 key购买 nike

我刚刚在 ASP.NET MVC 中学习使用路由并试图了解 IgnoreRoute 方法。

我试图阻止用户访问 "Content/{filename}.html"。我已将此作为我的 RegisterRoutes 方法中的第一个调用。这是我的代码:

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("Content/{filename}.html");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


routes.MapRoute("MyRoute", "{controller}/{action}/{id}/{*catchall}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = "^.*", action = "^Index$|^About$" },
new[] { "UrlsAndRoutes.AditionalControllers" });
routes.MapRoute("MyRoute2", "{controller}/{action}/{id}/{*catchall}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = "^.*", action = "^Index$|^About$" },
new[] { "UrlsAndRoutes.Controllers" });
routes.MapRoute("ShopSchema2", "Shop/OldAction", new { controller = "Home", action = "Index" });
routes.MapRoute("ShopSchema", "Shop/{action}", new { controller = "Home" });
routes.MapRoute("", "X{controller}/{action}");

routes.MapRoute(
name: "",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
}

如果我尝试访问像 localhost:53907/Content/Static.html 这样的链接,它应该不允许我根据目前的理解显示该文件,但它确实显示了它。

我做错了什么?

最佳答案

忽略 MVC 中的路由将告诉 MVC 框架不要选取这些 URL。

这意味着它将让底层 ASP.NET 处理请求,这将很高兴地向您显示一个静态文件。

关于c# - 忽略 ASP.NET MVC 中的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15380770/

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