首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IgnoreRoute返回奇怪的404页

IgnoreRoute返回奇怪的404页
EN

Stack Overflow用户
提问于 2016-01-06 13:39:00
回答 1查看 470关注 0票数 0

我增加了下列路线:

代码语言:javascript
复制
    // Ignore the alternate path to the home page
    routes.IgnoreRoute("Home/Index");
    routes.IgnoreRoute("Home");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new {  id = UrlParameter.Optional }
    );

访问:http://localhost:60832/home (请注意,HOME是已知的控制器,但在路由过程中被忽略,如上面所示)

访问:http://localhost:60832/testme我得到了这个404页:

他们为什么这么不一样?为什么不返回相同的404页?

请注意,这发生在WebAPI和MVC应用程序项目上,它们定义的路由相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-06 13:58:50

因为对于/home,您通过忽略它来处理异常,这就是为什么要获得正确的404。

对于错误的c++ontroller/action (testme/indexa),它会在路由表中查找它,并抛出未处理的异常,而我没有通过这个名称找到任何资源(URI)。

为了防止路由来处理对URL模式的请求,可以使用StopRoutingHandler

代码语言:javascript
复制
 routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34634538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档