1

我有一个应用程序将大约 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 控件在后台线程上工作?

4

0 回答 0