Iis
IIS 7.5 不會在回收時記憶體第 3 方 dll?
我有一個非常煩人的問題。
我有一個在 IIS7.5 中執行的應用程序(.net 3.5)。
通常,當我回收應用程序時,您第一次瀏覽該應用程序需要一些時間。我習慣了這種行為,所以我不介意。我認為 IIS 然後記憶體應用程序中所需的 dll,不是嗎?
好吧,我有一個在 IIS7.5 上執行的應用程序沒有顯示這種行為。事實上,當我回收我的應用程序時,第一頁的載入速度非常快(不到一秒)。應用程序中的每一頁也是如此,除了一個。
經過一些研究(大約 2 天),我發現這是由於一個特殊的第 3 方 dll 在應用程序的第一次載入時似乎沒有被記憶體。所以我第一次瀏覽這個載入了 dll(17 mb 大)的特定頁面時,這當然需要一些時間(第一次載入通常需要的時間)。在該頁面第一次執行非常快之後,確實是該 dll 的載入導致了性能問題。
如何讓 IIS 7.5 在應用程序啟動時載入我的所有 dll?
我希望我解釋得很好。
要知道:
- Windows 伺服器 2008(64 位)
- IIS 7.5
- .NET 3.5
- 虛擬環境
乾杯,M。
.NET 會延遲載入 dll(或它們通常知道的程序集)。只有當需要程序集的東西即將被執行時,程序集才會被載入。
因此,如果永遠不需要程序集,因為沒有呼叫任何使用它的程序集,則永遠不需要載入它。