路线图标(Route for favicon)

2019-10-18 04:51发布

我有一个具有multitentant解决方案.NET应用mvc4。 这是成立的方式是,它试图获取客户端文件,如果没有找到它需要全局文件。

所有这一切的伟大工程,在我的RouteConfig.cs我有这条线在最底层:

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那么disturbes其他途径(所有路由变成site.com/favicon.ico?param1 ...)

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

但后来它不运行我的代码等所有租户得到全局文件。

我知道,图标不再需要在如果链接它的根,但我喜欢这个解决方案,我的静态文件处理程序选择正确的文件,而不是改变文件路径(我根本就不想发送到代码含有像〜/客户/客户端A / favicon.ico的路径的客户端

因此,这将是巨大的,如果它可以与简单地使我的路线更具体的,因此只有抓住图标的根,没有别的解决。 所以,我可以把它在routeconfig.cs顶部

最后,如果有人想看到完整的错误从ELMAH它在这里: http://db.tt/3QBxIxmb

Answer 1:

这是否回答帮助: https://stackoverflow.com/a/2501352/1586498

routes.Add(new Route("favicon.ico", new StopRoutingHandler()));

“关闭Firefox,清除历史记录,然后再试一次。”



文章来源: Route for favicon