ASP.NET ReportViewer Google Chrome CPU 使用率

标签 asp.net reporting-services google-chrome reportviewer

我们在 ASP.NET 3.5 和带有 Google Chrome 的 ReportViewer 之间发现了一个有趣的问题。我们的页面集工作正常,直到 ReportViewer 控件显示报告。

谷歌浏览器然后吃掉了 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);
        }
    }
}

关于ASP.NET ReportViewer Google Chrome CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1784642/

相关文章:

javascript - 如何防止 window.location.pathname 转义 URL 中的字符

reporting-services - Reporting Services 2008 中的自定义错误页面

JavaScript:(如何)可以在 Chrome 的 DevTools 中检索外部 CSS 规则?

javascript - 如何居中对齐 Asp.net 网站中的实际文本框

asp.net - ViewState 可以存储多少数据?

javascript - SSRS - Javascript 报告加载事件

visual-studio - 我无法在设计器 View 中打开SSRs RDL文件。为什么会这样呢?

google-chrome - 在 Chrome + FF 中终止 Web Worker 后内存泄漏

c# - 修改现有元标记

asp.net - 用于单点登录的表单例份验证 ReturnUrl 和子域