我在 asp.net 中有幾個專案,在所有專案中我都有同樣的問題。我第一次訪問 aspx 頁面時,加載速度很慢。一旦我關閉頁面并重新打開它,加載速度非常快。為什么第一次加載這么慢?我可以更改 IIS 中的任何設定嗎?
謝謝
我已經閱讀了很多檔案,但我不是這方面的專家,也沒有取得任何進展。
uj5u.com熱心網友回復:
默認情況下,當用戶首次從網站請求 aspx 頁面時,會動態編譯 asp.net 網頁和代碼檔案。頁面和代碼檔案第一次編譯完成后,將編譯后的資源快取起來,這樣后續對同一頁面的請求效率極高。
更多關于asp.net動態編譯的資訊:
了解 ASP.NET 動態編譯。
如何:預編譯 ASP.NET 網站以進行部署。
uj5u.com熱心網友回復:
好的,這里有幾個問題。
您沒有提及您是否在談論您的開發人員計算機 - 比如說按 f5 來運行該站點。
接下來,您是在部署一個 asp.net 網站,還是一個 asp.net 網站應用程式?
使用應用程式,代碼和頁面的編譯發生在您的計算機上,.dll 由 Visual Studio (VS) 構建。因此,在部署時,會出現第一次延遲,但不會那么長 - 可能是 5 秒,這是因為應用程式池等發生了假脫機。
但是,如果你部署一個asp.net網站呢?然后與“應用程式”不同,包含后面代碼的源代碼(vb 或 c#)頁面,并將其部署到網站。這意味著 IIS 會編譯頁面——而且通常是動態的。這種部署模型通常受到許多人的青睞,因為您甚至可以打開服務器上的實時檔案,編輯后面的一行代碼,然后點擊保存。在下一頁使用時,它將重新編譯。
如果您使用應用程式,那么如前所述,IIS 不會編譯代碼,實際上在發布期間甚至不會部署源代碼。當然,雖然“應用程式”有很多好處,但一個很大的缺點當然是即使您只更改后面的一行代碼,您也需要重新發布完整的站點。
因此,雖然應用程式在第一次使用站點時有“一些”延遲,但與使用/部署網站時相比,它的延遲往往要小得多。(從那時起,IIS 必須編譯代碼,實際上必須編譯使用的每個頁面)。
您沒有提及/注意您在此處使用的部署模型和方法。
如前所述,雖然網站選項在更改一頁或一些代碼方面肯定會花費更少的精力,但我仍然更喜歡“應用程式”方法,因為諸如“參考”額外的類別庫和代碼之類的東西,甚至是可以說使用 Rosyln 編譯器(它很可能不在服務器上并且對 IIS 可用)。因此,我更喜歡并使用“應用程式”,盡管發布時間需要付出額外的努力,但開發人員時間的好處遠大于缺點。
當然,“應用程式”方法的一個好處是,您通常會獲得更快的 Web 啟動時間。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/529659.html
標籤:网表现iis
上一篇:Julia隨機微分方程非常慢
