zoukankan      html  css  js  c++  java
  • 一个容易被忽略的ReportingService超时问题

    我们在使用Sql Server Reporting Service开发报表的时候,经常会遇到报表超时的问题,报表超时的原因有很多,也有很多地方可以设置报表的超时时间,比如在报表中的数据源(datasource)上可以设置数据库连接的超时时间,在报表中的数据集(dataset)上可以设置执行查询语句的超时时间,在ASP.NET页面中的报表控件ReportViewer上也可以设置等待超时时间,除了前面说的三种超时时间还有一个超时时间很容易被忽略,那就是ASP.NET页面上ScriptManager控件的超时时间。因为ReportViewer在访问远程服务器报表的时候是通过ScriptManager控件发送Ajax请求来获取报表数据的,所以在使用ReportViewer控件的ASP.NET WebForm页面上都要求再放一个ScriptManager控件也就是这个原因。

    ScriptManager控件默认的超时时间是90秒,所以当有一张报表在报表服务器上的处理时间超过90秒后客户端页面上就会报一个javascript的等待超时错误。我们可以设置ScriptManager控件的AsyncPostBackTimeout属性值来更改这个默认超时时间,该属性的单位是秒。下面两个截图分别显示用C#代码和ASP.NET页面控件标签来设置ScriptManager控件的AsyncPostBackTimeout属性为900秒:

    通过C#代码设置:

    通过ASP.NET页面控件标签设置:

  • 相关阅读:
    java算法小例子
    Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目
    SpringBoot核心特性之组件自动装配
    spring cloud eureka注册原理-注册失败填坑
    红黑树存在的合理性
    IO模型(epoll)--详解-03
    IO模型(epoll)--详解-02
    IO模型(epoll)--详解-01
    JVM-类加载原理
    并发之原子性、可见性、有序性
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/5016539.html
Copyright © 2011-2022 走看看