2016-02-29 95 views
-2

我發佈了我的Web項目,它由共享主機上的C#MVC5 ASP.NET和實體框架編寫。第一次加載時,速度非常慢,需要很長的時間將近12秒,但之後就可以了。我在一個gtmetrix.com上測試了我的網站,幸運的是在A班。有人告訴我爲什麼首次加載需要很長時間嗎?我有一些建議。 1)它是因爲實體框架? 2)它是因爲我使用了很多庫,它需要在加載之前加載這些dll文件? 3)我需要一些配置在IIs(我不訪問IIs服務器,因爲我使用共享主機)? (也編譯調試是錯誤的) 我很感激如果有人幫助我。 網站地址是www.kajalmarket.com,最近上傳。mvc asp.net web項目第一次加載

+0

IIS第一次在IIS中「點擊」,IIS將編譯該網站。所以,即使你正在發佈你的網站預編譯,IIS不會編譯它,直到第一個人點擊它。 – gh9

+0

感謝您的評論。所以你認爲這很自然,我不應該擔心,我什麼都做不了。 –

+0

如果它只是影響第一個打網頁的人,我不會擔心它。如果它在不同的客戶和不同的時間是顯而易見的,那麼我會調查。 – gh9

回答

0

如果您擔心,您可以在部署之前進行預編譯。

下面是詳細信息: https://msdn.microsoft.com/en-us/library/ms227972(v=vs.90).aspx

預編譯ASP.NET網站提供更快的初始響應時間,爲用戶因爲網頁沒有他們被要求在第一時間進行編譯做。這對經常更新的大型網站特別有用。 Click here to see screenshot

您還可以,如果你通過Visual Studio中發佈 「發佈過程中預編譯」 選擇。

另一種選擇是遵循從(https://msdn.microsoft.com/en-us/library/ms366723.aspx)採取:

如果你希望能夠改變頂層文件,而不會導致重新編譯整個網站,你可以設置的的optimizeCompilations屬性將Web.config文件中的編譯元素設置爲true。如果optimizeCompilations爲true,那麼當您更改頂級文件時,只會重新編譯受影響的文件。這樣可以節省時間,但可能會導致運行時錯誤,具體取決於您對頂級文件所做的更改類型。

使用此方法,您應該看到重新編譯時間縮短,因爲它只重新編譯已更改的頂級文件。

HTH

+0

感謝您的回答wazdev我做了預編譯,但它像以前一樣。 –

+0

還有一個標誌可以關閉,防止完全重新編譯。我相應地更新了我的答案。 – wazdev