Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2014, 15:08   #1
webaib
Новичок
Джуниор
 
Регистрация: 01.08.2014
Сообщений: 3
По умолчанию Memory Leaks

Ку,

попросили написать одну дрянь - обертку, аля вебсервис, для десктопного приложения. У приложения ессстествено есть свое (плохо задокументированное и кривое) api и бинарники. В целом все несложно, только вот после работы с api в памяти тысячими остаются его мелкие и не очень объекты.
Контроль за реквестами поностью с моей стороны и я могу их котролировать, вот думаю просто следить за памятью и по необходимости
Application.Restart();
производить.

Кто нибудь в таком кривожопстве участвовал? Или видит какие нибудь косяки возможные?

З.Ы. На API жаловаться бесполезно и репортить баг в надежде, что его пофиксят нет.
webaib вне форума Ответить с цитированием
Старый 01.08.2014, 15:15   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а если насильно вызывать GC.Collect()?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.08.2014, 15:36   #3
webaib
Новичок
Джуниор
 
Регистрация: 01.08.2014
Сообщений: 3
По умолчанию

Я из под JustTrace все это дело исследовал и после выполнение реквеста запускал из JustTrace GC. Эти объекты не собираемы, т.к. на них есть ссылки из других объектов, например NetworkChange.NetworkAddressChanged как рут и т.п., т.б. GC.Collect() тут не поможет.
webaib вне форума Ответить с цитированием
Старый 01.08.2014, 15:41   #4
webaib
Новичок
Джуниор
 
Регистрация: 01.08.2014
Сообщений: 3
По умолчанию

Я в принципе рассматривал два варианта:
1. Рестарт всего "вебсервиса"
2. Т.к. работа с API изолирована в таски, то можно эти таски в отдельные приложения выделить и что бы их запускал вебсервис по необходимости.
webaib вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Out of memory... Klim Bassenger Microsoft Office Excel 9 17.01.2018 12:56
Load exe into memory and run it from memory artush1984 Win Api 10 06.02.2012 18:43
WPF / Image.Source Memory Leaks BOBAH13 WPF, UWP, WinRT, XAML 1 16.10.2010 00:06