Использование памяти резко возрастает при использовании RDLC
Привет, у меня есть отчетная RDLC, предназначенная для WinForms. Я заметил, что всякий раз, когда RDLC загружается данными, память взлетает примерно на 10%. 20 Мб на запрос из базы данных. Ниже приведен мой сценарий:
1. Откройте winform с RDLC в нем.
2. Нажмите кнопку Отправить, чтобы вызвать вызов БД для получения данных.
3. RDLC загружает данные отображения ti.(именно здесь память начала расти на 20 МБ).
4. Нажмите еще раз кнопку Отправить с тем же параметром, RDLC снова перезагрузится(память выстрелит еще на ~20 МБ)
Я очистил от любого источника до нагрузки отчетами. Ниже приведены мои коды:
protected Microsoft.Reporting.WinForms.ReportViewer rpvBaseReport;
rpvBaseReport.ProcessingMode = ProcessingMode.Local; rpvBaseReport.LocalReport.SetBasePermissionsForSandboxAppDomain(new PermissionSet(PermissionState.Unrestricted)); rpvBaseReport.LocalReport.DataSources.Clear(); rpvBaseReport.LocalReport.DataSources.Add(reportDataSource); //further logic here rpvBaseReport.RefreshReport();
Любая идея будет приветствоваться. Спасибо.
Что я уже пробовал:
1. используется профилировщик производительности для отслеживания использования памяти.
2. Поиск в интернете для решения, пытались ReleaseSandBoxAppDomain(), метод Dispose (), но безрезультатно.
Mehdi Gholam
Как и следовало ожидать, не беспокойтесь об этом, если только ваше приложение не выйдет из строя или не будет работать неправильно.
Jamie888
Как сказать, сэр?
Mehdi Gholam
Как сказать что?
Jamie888
Как сказать, что это ожидается? Является ли это общей проблемой для RDLC?