Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Утечка памяти при использовании компонента ReportViewer / 5 сообщений из 5, страница 1 из 1
05.04.2014, 13:47
    #38606074
Andemki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Утечка памяти при использовании компонента ReportViewer
Кто-нибудь сталкивался с утечкой памяти в WinForms-проектах при использовании компонента ReportViewer? Как решали?
Спасибо!
...
Рейтинг: 0 / 0
05.04.2014, 19:52
    #38606188
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Утечка памяти при использовании компонента ReportViewer
Andemki,

Не сталкивался. Вы уверены, что есть утечка при его использовании?
...
Рейтинг: 0 / 0
05.04.2014, 20:02
    #38606190
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Утечка памяти при использовании компонента ReportViewer
Andemki, ну а сами пробовали поискать?
http://www.codeproject.com/Questions/636950/How-to-fix-memory-leak-in-Microsoft-Report-rdlc
...
Рейтинг: 0 / 0
06.04.2014, 11:40
    #38606358
Andemki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Утечка памяти при использовании компонента ReportViewer
Cat2,

Да, это известная проблема компонента ReportViewer: выделенная память под отчёт не освобождается после закрытия формы с этим отчётом. Здесь описана эта проблема и приводится пример такого приложения.
...
Рейтинг: 0 / 0
06.04.2014, 11:54
    #38606367
Andemki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Утечка памяти при использовании компонента ReportViewer
buser,

Да, искал. После перевода приложения на .Net 4.0, только вот эта запись в конфиге частично помогла:
Код: xml
1.
2.
3.
4.
<runtime>
<!-- enables legacy CAS policy for this process -->
<netFx40_LegacySecurityPolicy enabled="true" />
</runtime>



После этого память перестала убегать после каждого рефреша отчёта :) Но так и не освобождалась после закрытия форм с отчётами. Остальные вырианты решения, типа:
Код: c#
1.
2.
3.
this.ReportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(Assembly.GetExecutingAssembly().Evidence);
PermissionSet permissions = new PermissionSet(PermissionState.Unrestricted);
this.ReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(permissions);


Или свернуть и развернуть форму - не помогли.
Единственное что существенно помогло - так это переход на 11ую версию библиотек ReportViewer из Visual Studio 2012. Память всё равно освобождается не польностью и после последующих открытий форм с отчётностью. Но даже это - небо и земля по сравнению с билиотеками ReportViewer из Visual Studio 2010 :)
Подумал, может быть кто-то сталкивался с этим и нашёл конкретный путь решения этой проблемы :)
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Утечка памяти при использовании компонента ReportViewer / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]