控制器工厂接收“favicon.ico”的请求
我注意到,在使用 Google Chrome 和 Visual Studio Development Server 时,对 "favicon.ico"
的请求被传递到我的 ASP .NET MVC 控制器工厂。 controllerType
参数的值为 null
,这毫不奇怪地导致未处理的异常,我只是通过错误日志才知道该异常。
您知道请求来自何处以及为什么 ASP .NET 让它到达控制器工厂吗?例如,CSS 文件和图像已被正确过滤掉。
I've noticed that a request to "favicon.ico"
is being passed to my ASP .NET MVC controller factory when using Google Chrome and the Visual Studio Development Server. The controllerType
parameter has a value of null
which is unsurprisingly resulting in an unhandled exception, which I only know about because of an error log.
Any ideas where the request is coming from and why ASP .NET is letting it get to the controller factory? CSS files and images for example are being correctly filtered out.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当 IIS7 处于集成模式时,所有请求都通过隧道传送到管道。您可以将其添加到忽略路由
asp.net mvc 是否处理所有请求? - iis 7集成模式
另一个资源
http://weblogs.asp.net/gunnarpeipman/archive/2009/02/26/asp-net-mvc-ignore-requests-to-favicon-ico.aspx
请记住,您只有在处于调试模式时才能看到此内容。您的用户不会看到它(仍然不是最佳的,但是嘿,我没有设计它)
With IIS7 in integrated mode all requests are tunneled to the pipe. you can add it to your ignore routes
asp.net mvc does it handle all requests? - iis 7 integrated mode
Another resource
http://weblogs.asp.net/gunnarpeipman/archive/2009/02/26/asp-net-mvc-ignore-requests-to-favicon-ico.aspx
Bear in mind to you only seeing this as you are in debug mode. Your users wont see it (Not optimal still, but hey I didn't design it)
我也注意到 chrome 会发生这种情况。我相信浏览器正在寻找网站图标(其选项卡旁边的小图标),默认路径为 /favicon.ico。 MVC 尝试查找与该路由匹配的控制器,但结果为空。
最简单的解决方法可能只是在名为 favicon.ico 的根目录中添加 favicon 图像,或者在 html 的 head 部分使用链接标记将其指向其他位置。
例如
I have also noticed this occuring with chrome. I believe it is the browser looking for the site favicon (little icon next to its tab) with the default path of /favicon.ico. MVC trys to find a controller matching that route and comes up blank.
Easiest fix is probably just to add favicon image in your root directory called favicon.ico or using a link tag in the head section of your html to point it somewhere else.
eg