一個新開發的應用程序大量使用Web服務。我們開始定期處理內存異常(隨着使用量的增加)。在審查了內存轉儲後,我注意到有大量相同大小的byte []。看着這些byte []的句柄,我注意到它們被System.Security.Policy.Evidence引用。System.Security.Policy.Evidence,Web服務和吹掉LoH
經過進一步的檢查,我將這些內存分配標識爲實際的程序集(dll),其中有我們的Web服務類(其中2個組件特別是128次內存和115次內存)。我在這裏找到了一些信息 - > blogs.msdn.com/tess/archive/2008/06/25/asp-net-memory-leak-byte-arrays-rooted-in-system-security-policy-evidence。 ASPX
這裏 - > blogs.javista.com/2009/03/18/best-practices-for-crm-memory-usage/
,但我一直沒能找到很多其他參考這個問題。 (.NET框架將web服務程序集加載到內存中以檢查安全策略)。
目前,我看到的唯一解決方案之一是將Web服務的斷言分離爲參考庫的較小程序集。
我很困惑爲什麼.NET框架必須將整個程序集加載到內存中來檢查策略並希望看看是否有其他人遇到過這個問題以及您的解決方案。
感謝, 丹