UNKNOWN.RPT 无法将请求提交后台处理

(1)程序在本机测试没有问题,当把程序上传到服务器就出现“UNKNOWN.RPT 无法将请求提交后台处理”这个错误。
出现这个错误的主要原因是水晶报表引擎没有权限生成报表。查看了一个服务器的权限设置,发现C盘的根目录Users组没有权限,只要把Users组设置为对C盘有写入的权限问题就解决了。如果认为User组对整个C盘有写入权限不安全,也可以把Temp目录设为有写入权限,问题也可以解决。
初步估计水晶报表引擎可能要在Temp目录里生成一些临时的交换文件,所以需要C盘Temp目录的操作权限。
(2)在C:\WINDOWS\Temp这个临时文件里面有大量的水晶报表文件,每使用一次就会生成几个文件,在电脑没有重新启动的情况下它不会被删除,而出现大量的无用文件,在google里面搜了一圈发现也有人碰到这样的情况但回答的很模糊只是说要将水晶报表装载的文档关闭掉,从这里可以看出出现这样的错误应该是程序员人为照成的.
    具体解决如下:
          1.ReportDocumen实例必须为类成员    
private  ReportDocument prtp  =   new  ReportDocument();   


          2.使用完水晶报表必须关闭文件,这样子就不会在windows的临时文件里面产生.

     private   void  Page_Unload( object  sender, EventArgs e)
    
{
        prtp.Dispose();
    }

             Page_Unload 事件是在页面完全显示的时候运行,这样子就解决了.

你可能感兴趣的:(now)