9

我注意到"favicon.ico"在使用 Google Chrome 和 Visual Studio 开发服务器时,一个请求被传递到我的 ASP .NET MVC 控制器工厂。该controllerType参数的值null毫不奇怪会导致未处理的异常,我只知道这是因为错误日志。

请求来自哪里以及为什么 ASP .NET 让它进入控制器工厂的任何想法?例如,CSS 文件和图像被正确过滤掉。

4

2 回答 2

9

使用集成模式的 IIS7,所有请求都通过隧道传送到管道。您可以将其添加到您的忽略路线

asp.net mvc 是否处理所有请求?- iis 7 集成模式

另一个资源

http://weblogs.asp.net/gunnarpeipman/archive/2009/02/26/asp-net-mvc-ignore-requests-to-favicon-ico.aspx

请记住,您只能在调试模式下看到这一点。您的用户不会看到它(仍然不是最佳的,但嘿,我没有设计它)

于 2011-04-01T00:40:47.910 回答
2

我也注意到 chrome 会发生这种情况。我相信是浏览器在寻找默认路径为 /favicon.ico 的站点图标(其选项卡旁边的小图标)。MVC 尝试找到与该路由匹配的控制器并出现空白。

最简单的解决方法可能只是在名为 favicon.ico 的根目录中添加网站图标图像,或者在 html 的 head 部分中使用链接标签将其指向其他地方。

例如

<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
于 2011-04-01T00:40:29.657 回答