2009-07-20 22 views
6

Mam aplikację WinForms 2.0 z około 18 raportami utworzonymi za pomocą Microsoft ReportViewer. Po każdym uruchomieniu raportu tworzony jest zespół dynamiczny (expression_host_xxxxxx.dll). Ten dynamiczny zestaw jest ładowany do pamięci i pozostaje na pozostałym obszarze środowiska wykonawczego aplikacji zużywającego zasoby. Nawet jeśli mamy tylko 1 raport i zaczynamy to, tj. 3 razy, otrzymujemy 3 takie zestawy expression_host w pamięci.Zespoły Expression_Host stale rosną w liczbach

Czy istnieje sposób, aby zapobiec utworzeniu tych zespołów lub rozładowaniu tych zespołów po zakończeniu?

TIA

Odpowiedz

4

już znalazł rozwiązanie. W sprawie kontroli ReportViewer można oznaczać aby wykonać raport w tak zwanej piaskownicy aplikacji domeny:

`rpv1.LocalReport.ExecuteReportInSandboxAppDomain();` 

Nie uniemożliwi tworzenie zespołów Expression_Host ponieważ są one niezbędne do oceny wyrażeń zostały wykorzystane w twój raport. Uruchomi jednak raport w nowej domenie aplikacji. Ta nowa domena aplikacji jest następnie rozładowywana po zakończeniu raportu, w wyniku czego załadowany zestaw w tej domenie jest również rozładowywany.

+0

To wróciło z wycofaną wiadomością, innymi pomysłami? – Neo