При использовании Microsoft MessageQueue, похоже, произошла утечка памяти, связанная с событием PeekCompleted. Я нашел связанный вопрос об обмене экспертами с 2005 года, но без правильного ответа / решения: http://www.experts -exchange.com / Programming / Misc / Q_21387840.html
Используя ANTS Memory Profiler, я вижу, что я получаю дополнительные закрепленные экземпляры Byte [], Int32 [], System.Messaging.Interop.MQPROPVARIANTS [] и System.Threading.OverlappedData каждый раз, когда PeekCompleted срабатывает.
Цепочка ссылок: Byte []
Мы почти уверены, что мы правильно используем MSMQ и экспериментировали с разными вещами, такими как проверка наличия входящего объекта Message, явный вызов EndPeek и т. Д., Но не повезло. До сих пор не было написано простого кода, чтобы точно определить проблему, но, вероятно, это мой следующий шаг. Очевидно, есть вероятность, что мы используем его неправильно, но сейчас мы думаем, что на самом деле есть проблема с MSMQ. Утечка небольшая, но со временем она увеличивается.
У кого-нибудь есть идеи, как устранить эту утечку памяти? Подобные переживания?