Asp.net

MVC + IIS7 = CSS 問題

  • February 22, 2019

我有一個通過 IIS7 在 Vista 上執行的網站。該站點在埠 88 上執行,因此http://localhost:88應該呈現預設的 /Home/Index 視圖。

與所有其他視圖一樣,這可以正常工作。

然而,一個問題是居民。我的腳本路徑指向 /Scripts/

$$ FILE $$我的 CSS 路徑指向 /Content/$$ FILE $$. 我的假設是 /Content 或 /Scripts 文件夾將始終位於站點的根目錄,因為我無意在虛擬目錄設置中執行此站點。每當頁面呈現時,它們都沒有 CSS 或腳本!所以一切看起來都很不穩定,腳本顯然不起作用,因此很多視圖也不起作用。 這是一個非常奇怪的問題,我敢肯定是因為我缺乏在 IIS7 下託管事物的知識。任何人都可以提供任何幫助,我將不勝感激。非常感謝!

我希望這個執行緒的繼續傳達一種意願,以確保這個問題不會把任何人推下懸崖。在各種論壇中有很多關於在 Vista 上解決此問題的文件,但我找不到任何類似的 2K8 文章。如本論壇文章所示,我能夠在 Vista 機器上解決此問題。唉,類似的執行未能解決 2K8 上的問題。

我已經驗證了 StaticFileHandler 已包含在 web.config中,正如 apijunkie.com 上的這篇部落格文章中所建議的那樣。儘管如此,還是沒有運氣。

在這裡澄清沒有運氣- 我的伺服器端功能非常完美。所有 MVC 路線都像冠軍一樣工作。只是所有的 CSS 和 JS 渲染都失敗了。當瀏覽器直接指向 CSS 或 JS 文件時,結果頁面是 ASP.NET 404 而不是傳統的404 錯誤頁面。

所以我進入 IIS7 管理器並進入 Handler Mappings 對話框。我添加了一個新的處理程序,它指定了 System.Web.StaticFileHandler 類型並給它一個 *.CSS 的副檔名。然後我對 .JS、.PNG 和 *.GIF 文件重複了此操作。當我在瀏覽器中刷新網站時,一切都完美呈現。下面的螢幕截圖展示了這個過程。

處理程序映射視窗:

處理程序映射

(來源:windows.net

添加新的託管處理程序

替代文字

(來源:windows.net

這解決了問題,現在我在 W2K 中託管了一個執行良好的 MVC 應用程序。是時候喝吉尼斯了。

引用自:https://stackoverflow.com/questions/353726