一个古怪的报表打印问题的解决

      到新公司解决的第一个问题就是作自动生成列的报表,最后使用DevExpress.XtraReports完成了(虽然还有些问题,列数过多时不能跨页打印)。但随着测试奇怪的问题又出现了。
       公司做的软件是JAVA和.NET的混合体,使用JAVA页面登录,主框架也是JSP,而大部分的操作是在主框架页面中调入ASPX页面。两者通过一个叫relogin.aspx的页面沟通,这个页面也作登录信息初始化的工作(先用session.clear()清空,再赋值给相应SESSION)。没有使用打印前一切正常,一旦打印页面出现(类似office打印时跳出的打印机设置打印的页面),所有信息被初始化。但在纯.net框架情况下又没有问题。
      想了很久,只能在relogin页面中判断传送的信息是打印界面时不执行session.clear()。为此动了很久脑筋。最后发现传送的response.hearder信息中的cookie信息不同,而且在服务器和客户机上也不同,打印界面出现时传过来的cookie中包含用户验证信息和aspnet.sessionid两种(服务器上就只有aspnet.sessionid一种),登录和其他状态时就只有验证信息一种了。根据此写了一个判断代码解决问题。
posted @ 2006-04-15 23:40  金彩  阅读(267)  评论(0编辑  收藏  举报