首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >favicon的路由

favicon的路由
EN

Stack Overflow用户
提问于 2013-05-26 21:19:17
回答 1查看 1.4K关注 0票数 1

我有一个具有多内容解决方案的.net mvc4应用程序。它的设置方式是尝试为客户端获取一个文件,如果找不到,则获取全局文件。

所有这些都运行得很好,在我的RouteConfig.cs中,我在最下面有一行代码:

代码语言:javascript
复制
routes.Add("FaviconRoute", new Route("favicon.ico", new StaticFileRouteHandler("favicon.ico", "Content", "", true)));

StaticFileRouteHandler是我的自定义类,可以加载全局文件或租户文件,效果很好。然而,我注意到我从elmah (错误处理程序)得到了很多错误,如下所示:

404 Http The controller for path '/favicon.ico' was not found or does not implement IController.

所以我一直在试着解决这个问题,但还是搞不清楚。如果我将我的线路放在routeconfig中更高的位置,那么它会干扰其他路由(所有路由都变成site.com/folicon.ico?param1...)

我尝试过使用routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });

但是它不会运行我的代码,所以所有租户都会得到全局文件。

我知道如果您将其链接起来,则favicon不再需要位于根目录中,但我喜欢这种解决方案,即我的静态文件处理程序选择正确的文件,而不是更改文件的路径(我只是不希望将代码发送到客户端,其中包含类似于~/clients/clientA/folicon.ico的路径

因此,如果可以通过简单地使我的路由更具体来解决它,这样它就只在根目录中捕获favicon,而不是其他任何东西,那就太好了。所以我可以把它放在routeconfig.cs的顶部

最后,如果有人想要查看elmah的完整错误,可以在这里找到:http://db.tt/3QBxIxmb

EN

回答 1

Stack Overflow用户

发布于 2014-10-10 08:13:16

这个答案有帮助吗:https://stackoverflow.com/a/2501352/1586498

代码语言:javascript
复制
routes.Add(new Route("favicon.ico", new StopRoutingHandler()));

关闭Firefox,清除历史记录,然后重试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16759626

复制
相关文章

相似问题

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