Кто-нибудь еще обнаружил проблему утечки памяти при использовании подписок по запросу (ExchangeService.SubscribeToPullNotifications()) в API управляемых веб-служб Exchange ? При вызове PullSubscription.GetEvents() использование памяти поднимается на 4 Кб практически при каждом вызове опроса. Единственный способ уменьшить использование памяти - принудительно собирать мусор (через GC.Collect()) после каждого вызова - ненужный путь.
ExchangeService.SubscribeToPullNotifications()
PullSubscription.GetEvents()
GC.Collect()
Я удивлен, увидев, что API не менялся почти год.
Эта проблема была решена другим сообщением .По существу EWS конфликтовал с другим компонентом, который не смог выпустить NetworkStream (из-за SqlException). ANTS memory profiler был использован для точного определения причины и времени возникновения проблемы.Без этого инструмента профилирования мы бы никогда не обнаружили проблему.
NetworkStream
SqlException
Я бы сказал, что если GC.Collect восстанавливает память, утечки памяти нет. GC просто не оказывает давления при выполнении сбора GC, поскольку доступно достаточно памяти.