2009-07-20 17 views
6

olarak artmaya devam ediyor Microsoft ReportViewer ile oluşturulan yaklaşık 18 Rapor içeren bir WinForms 2.0 uygulamasına sahibim. Her rapor başlatıldığında, dinamik bir derleme oluşturulur (expression_host_xxxxxx.dll). Bu dinamik derleme belleğe yüklenir ve uygulama çalışma zamanı kaynaklarının kalanının kalacağı yerde kalır. Sadece 1 raporumuz varsa ve buna 3 kere başlasak bile, 3 tane böyle expression_host derlemesini belleğe alırız.Expression_Host meclisleri, sayıları

Bu montajların yapılmasından sonra bu derlemelerin oluşturulmasını veya kaldırılmasını engellemenin bir yolu var mı?

TIA

cevap

4

Zaten bir çözüm buldum. ReportViewer denetimi sitesinde bir sözde korumalı alan uygulama-etki raporu yürütmek için işaret edebilir: bunlar kullanmış ifadeleri değerlendirmek için gerekli olduğundan

`rpv1.LocalReport.ExecuteReportInSandboxAppDomain();` 

Bu Expression_Host meclisleri oluşturulmasını engel olmaz senin raporun Ancak raporu yeni bir uygulama alanında başlatır. Bu yeni uygulama etki alanı, rapor bittikten sonra boşaltılır ve sonuç olarak, söz konusu etki alanındaki tüm yüklenmiş yükler de kaldırılır.

+0

Bu, onaylanmamış bir mesajla ve başka herhangi bir fikirle geri geldi mi? – Neo