Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 处理时SSRS ReportViewer nullreference异常_Reporting Services_Reportviewer_Dispose - Fatal编程技术网

Reporting services 处理时SSRS ReportViewer nullreference异常

Reporting services 处理时SSRS ReportViewer nullreference异常,reporting-services,reportviewer,dispose,Reporting Services,Reportviewer,Dispose,我们目前正在使用Windows服务生成PDF文件。我最近在优化代码,注意到内存被滥用。这是由于在var reportViewer=new reportViewer() 但是,添加此项后,代码在使用内部Dispose方法关闭块后抛出运行时nullreference异常 为什么会发生此错误,以及如何正确处理对象?答案可以在Visual Basic中找到,因为出于某种原因,ReportViewer需要HttpContext。如果不存在,则会发生此错误 作为解决方法,可以添加以下行来解决此问题:

我们目前正在使用Windows服务生成PDF文件。我最近在优化代码,注意到内存被滥用。这是由于在
var reportViewer=new reportViewer()

但是,添加此项后,代码在使用内部Dispose方法关闭块后抛出运行时nullreference异常


为什么会发生此错误,以及如何正确处理对象?

答案可以在Visual Basic中找到,因为出于某种原因,ReportViewer需要HttpContext。如果不存在,则会发生此错误

作为解决方法,可以添加以下行来解决此问题:

                if (System.Web.HttpContext.Current == null)
                {
                    System.Web.HttpContext.Current = new System.Web.HttpContext(
                        new System.Web.HttpRequest(System.IO.Path.GetRandomFileName(), "https://www.stackoverflow.com", string.Empty),
                        new System.Web.HttpResponse(System.IO.TextWriter.Null)
                        );
                }
这将创建一个假的HttpContext,以某种方式允许正确地处理ReportViewer实例