2011-03-25 139 views
1

我需要一些幫助,顯示我的網站上的圖標,同時使用ASP.NET MVC。ASP.net MVC圖標不顯示

問題總之是,每當一個請求是

請求永遠不會被送達作出。火狐說:

內容編碼錯誤 - 你 試圖查看該頁面無法顯示 ,因爲它使用的壓縮無效或不支持 形式。

我曾嘗試使用以下忽略航線戰略忽視的路線,顯然不是所有在同一時間;-)

routes.Add(new Route("favicon.ico", new StopRoutingHandler())); 
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); 
routes.IgnoreRoute("Content/{file}", new { file = @".*" }); 

我可以證實,這是忽略了路線,因爲我的子類控制器工廠,它不會呼叫CreateController 踢球者是這樣的,我也有一個PNG版本的文件,它得到了服務。我還與小提琴手檢查它,每當我試圖要求ICO直接通過網址我得到一個彈出窗口,上面寫着這樣的:

神奇的數字在gzip頭不正確 。確保你傳遞了一個GZip流 。

所以它似乎以某種方式IIS試圖將其發送回壓縮? 如何阻止此行爲/使其工作?

任何見解?

UPDATE:

我想通了,web.config中有一個自定義的HttpModule與成爲物理文件處理,並試圖壓縮文件輸出。當你有圖像文件時,這不起作用。 :-)

回答

2

爲什麼你將它作爲路線添加?

只需添加到您的母版頁標題:

<link rel="shortcut icon" media="all" type="image/x-icon" href="<%= Url.Content("~/favicon.ico") %>" /> 
+0

我不會將其添加爲路線,我試圖忽略它。我的母版頁中已經有了這個html鏈接元素。這纔是重點。該圖標沒有被返回,不知何故,當它被請求瀏覽器不知道它回來的時候。 – Jose 2011-03-28 12:37:53