mvc:favicon.ico也查找控制器吗?

我收到一个错误:

“path控制器”/favicon.ico“未find或未实现IController”

然后我想:框架如何知道哪些文件必须实例化一个控制器,因为对于脚本,css和其他文件同样如此?

(从来没有想到,但现在的图标抱怨,我想知道….)

但回到错误,为什么会发生?

添加这个给你global.asax

routes.IgnoreRoute("favicon.ico"); 

您也可以指定具有约束的忽略路由

 routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); 

最重要的答案是正确的。

 routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); 

但是对于较新版本的MVC,你必须在RouteConfig.csRegisterRoutes方法的顶部添加这个(所以在调用routes.MapRoute(..)之前的某个地方)。

你可能会得到VS Web服务器。 对?

你不会得到这个与IIS,因为IIS(默认)处理图像(.ico,.jpg,.gif,等等)的请求,因此他们不会把它给你的应用程序。

有趣的,因为它听起来我得到这个错误,只有当我选中tools->options->debugging下的“启用只是我的代码”选项,只要我取消选中它,我不会再得到这个错误。

但是请注意,这个错误似乎仍然在后台被抛出,但是立即被内部捕获,所以最好的解决办法是在global.asax中编码,以便在其他答案提示的时候忽略它。