Почему в Silverlight происходит утечка памяти при использовании COM?

Мы обнаружили эту проблему при размещении устаревшего COM-компонента в нашем приложении Silverlight вне браузера, сначала подумав, что это проблема нашего COM-компонента.

Если сузить ее до хостинга самого простого COM-компонента, который только можно вообразить, у нас все еще была память утечка, однако. Этот COM-компонент, используемый для тестирования, написан на .NET и просто отправляет события обратно в приложение Silverlight каждый раз, когда срабатывает таймер. Каждое событие содержит только одну строку.

При запуске приложения Silverlight использование памяти процессом продолжает расти. Профилировщики не показывают увеличения управляемой памяти, что указывает на наличие утечки в реализации Silverlight / COM.

Кто-нибудь еще видел эту проблему, и если да, смогли ли вы ее обойти?

Изменить: Репро проект теперь доступен по адресу http: // bitbucket. org / freed / silverlight-com-Leak

7
задан SoftMemes 24 November 2010 в 09:58
поделиться