加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET ReportViewer Google Chrome CPU使用情况

发布时间:2020-12-15 20:46:46 所属栏目:asp.Net 来源:网络整理
导读:我们在ASP.NET 3.5和ReportViewer与Google Chrome之间发现了一个有趣的问题.我们的页面工作正常,直到ReportViewer控件显示报表. 然后,Google Chrome会占用50%的CPU,看起来什么都不做. 我已经将ReportViewer控件解压缩到一个空白的Web窗体项目,以确认它的控
我们在ASP.NET 3.5和ReportViewer与Google Chrome之间发现了一个有趣的问题.我们的页面工作正常,直到ReportViewer控件显示报表.

然后,Google Chrome会占用50%的CPU,看起来什么都不做.

我已经将ReportViewer控件解压缩到一个空白的Web窗体项目,以确认它的控件,而不是我的代码的流氓位.

我在本地模式下使用ReportViewer(RDLC文件)所以我推测它的2005版本?

有人见过这个并有解决方案吗?

菲尔

编辑:Vista Business x64上的Google Chrome 3.0.195.33

编辑2:添加赏金以帮助解决此问题

解决方法

解决方案实际上是一些ReportViewer JavaScript导致Chrome中的无限循环,我发布了关于如何通过制作自定义版本的ReportViewer控件并修复损坏的JavaScript来解决此问题的源代码(我已经丢失了链接到解决方案,但我没有写这个,只是用它:))

我可以确认,现在我们已经升级到Visual Studio 2010中的最新ReportViewer,Chrome CPU问题不再存在,并且不需要这种解决方法.

public class MyReportViewer : Microsoft.Reporting.WebForms.ReportViewer
{
    protected override void Render(HtmlTextWriter writer)
    {
        using (StringWriter sw = new StringWriter())
        {
            HtmlTextWriter tmpWriter = new HtmlTextWriter(sw);
            base.Render(tmpWriter);
            string val = sw.ToString();
            val = val.Replace(@"!= 'javascript:'''",@"!= 'javascript:''' && false");
            writer.Write(val);
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读