致电favicon.ico的请求获得了使用MVC 3和Chrome的404 http状态

Tom*_*uλa 2 asp.net asp.net-mvc asp.net-mvc-3

我在SO和博客上看到了很多关于如何配置MVC以不将请求调用路由到favicon.ico文件的问题,但似乎没有人能为我工作.我读过的lates博客是Phil Haack http://haacked.com/archive/2008/07/14/make-routing-ignore-requests-for-a-file-extension.aspx但是我仍然看到对favicon.ico文件导致404错误状态代码.

我知道有很多变通方法,但是想知道为什么它只是不适用于那个演化:

routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
Run Code Online (Sandbox Code Playgroud)

这是在路线注册的开始.

我正在使用MVC 3,Chrome和IISExpress

我错过了什么?

Cha*_*ell 7

IgnoreRoute该图标使得它使得请求图标时,.NET不会做任何事情.您仍需要favicon.ico在应用程序中包含一个文件,以防止请求返回404.

每次浏览网站时,Google Chrome(以及其他浏览器)都会自动请求图标,以便它可以在标签中显示.

  • 尝试从手持设备(紧凑型框架/Windows CE 应用程序)调用 Web API REST 方法时,我收到此 404。为什么 REST 方法会认为它需要寻找/呈现网站图标? (2认同)