2013-05-26 39 views
1

我有一個.net mvc4應用程序,它有一個multitentant解決方案。 這樣設置的方式是它試圖爲客戶端獲取一個文件,如果找不到它,則需要全局文件。favicon的路線

這一切的偉大工程,在我的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(/.*)?" });

嘗試,但那麼它不跑我代碼,因此所有租戶都可以獲得全局文件。

我知道如果你鏈接它,favicon不再需要在根目錄下,但是我喜歡這個解決方案,我的靜態文件處理程序選擇正確的文件而不是改變文件路徑(我根本不想要代碼發送到客戶端包含像〜/ clients/clientA/favicon.ico

所以這將是很好,如果它可以解決只是使我的路線更具體,所以它只捕獲在根和圖標的favicon所以我可以把它放在routeconfig.cs的頂部

最後,如果有人想看到從elmah完整的錯誤它在這裏:http://db.tt/3QBxIxmb

回答

1

這是否回答幫助:「關閉Firefox,清除歷史記錄,然後再試一次」 https://stackoverflow.com/a/2501352/1586498

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

+0

這麼長時間,因爲我這樣做,現在我不記得我是怎麼最終管理,但是我將回到它並看看這是否解決它! –