6

我在本地模式下使用 .Net 4.5 和 ReportViewer 11。我的报告呈现得很慢(10 分钟)。我在这篇文章中发现添加<trust legacyCasModel="true" level="Full"/>到 web.config 将解决问题,并且确实如此。报告渲染时间从 10 分钟变为 10 秒,但现在我在系统其他部分的动态变量不起作用。这是错误:

动态操作只能在同构 AppDomain 中进行。

有没有办法<trust legacyCasModel="true" level="Full"/>在一个页面中设置或具有相同效果的东西?

4

4 回答 4

1

将 .net 框架更改为 3.5 将帮助您在一半时间内加载您的报告。你可以试试你的情况。

于 2013-11-22T06:23:56.237 回答
1

可以在此处找到此问题的最新信息https://connect.microsoft.com/VisualStudio/feedback/details/561679/reporting-services-using-parameter-for-dynamic-grouping-very-slow看起来可能在 sql server 2012 中解决。

如果您不使用 4.5 的特定功能,则回滚到 3.5 是最可行的选择。由于 cas 设置是 web.config 的一部分,因此该选项不适用于每页

考虑为您的报告页面构建一个单页子站点,其中子站点是具有 3.5 应用程序池的单独应用程序,可能值得快速测试

于 2013-11-27T06:31:20.447 回答
1

请使用以下链接获取更多信息

https://codeontime.com/blog/2014/08/improving-performance-of-reports-in

添加:

<trust legacyCasModel="true" level="Full"/> 

在部分:Webconfig 的 configuration/system.web 中。 它有助于将报表性能提高 10 倍。但是会影响 MVC 项目中的动态对象。

于 2017-08-10T18:24:27.730 回答
0

可能无法仅为一个页面设置信任级别,但是您可以将具有ReportViewer控制权的页面与新的 Web 应用程序以及新的应用程序域分开。这样,web.config 更改只会影响报表查看器页面。

此解决方法还有其他一些好处,例如:

  • 能够以不同方式扩展报告网站,因为它通常会消耗大量资源
  • 能够出于性能原因关闭主网站的会话状态并仅在报告中保持打开状态,因为 ReportViewer 需要会话状态
于 2015-09-22T13:18:21.530 回答