我有一个应用程序将大约 100 个报告呈现为 PDF,并使用带有 SSRS 2008 的 asp.net Report Viewer 控件将它们保存到磁盘。我正在尝试在单独的线程上在后台运行这个称为 ProcessReports 的方法,以便浏览器不空闲/不超时(过程大约需要 10 分钟)。
当我开始一个新线程时:
Dim t As New Thread(AddressOf ProcessReports)
t.Start()
我希望主线程在标签中显示进度消息
lblMessage1.Visible = True
lblMessage1.Text = "Processing..."
问题:当后台线程运行 ProcessReports 方法并点击 ReportViewer 控件时:
ReportViewer1.ServerReport.ReportServerUrl = _
New Uri("https://mysite.net/ReportServer")
ReportViewer1.ServerReport.ReportPath = _
"/mypath/My_Report"
标签从不显示任何内容,并且我不断收到以下错误消息:
Object reference not set to an instance of an object.
如何在主线程显示进度消息时让 ReportViewer 控件在后台线程上工作?