ReportViewer rendering hangs server after some executions

♀尐吖头ヾ 提交于 2019-12-25 01:28:08

问题


I have a service that generates a Report. The code for that part is like this

ReportDataSource rds = new ReportDataSource();
rds.Name = "DataSetDIR";
rds.Value = dataSource;                    
using (ReportViewer rv = new ReportViewer()){
    rv.LocalReport.DataSources.Clear();
    rv.LocalReport.DataSources.Add(rds);
    rv.LocalReport.ReportEmbeddedResource = "xxxxxx.rdlc";
    rv.LocalReport.Refresh();
    byteViewer = rv.LocalReport.Render("PDF");                        
    rv.LocalReport.Dispose();
}

On my computer it works OK, but I have published it on the server and it works OK...but only during a few executions (it can vary from 5 to 25 in differents tests I've done)

After that, it always hangs on this line:

byteViewer = rv.LocalReport.Render("PDF");

To make it work again (until it hangs again), I have to restart Application Pool

PD: After this problem appears, when I try to restart the Application Pool this error is show

And I have to go to the services and restart the Credential Manager to be able to restarte the ApplicationPool

Any idea why this is happening and how can i solve it?


回答1:


I found the solution.

I only had to call the LocalReport directy and the problem dissapears.

using (LocalReport lr = new LocalReport()){
    lr.DataSources.Clear();
    lr.DataSources.Add(rds);
    lr.ReportEmbeddedResource = "xxxxxx.rdlc";
    lr.LocalReport.Refresh();
    byteViewer = lr.Render("PDF");
}


来源:https://stackoverflow.com/questions/48403053/reportviewer-rendering-hangs-server-after-some-executions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!