我在本地模式下使用.Net 4.5和ReportViewer 11。我的报告非常缓慢(10分钟)。我在this post中发现将<trust legacyCasModel="true" level="Full"/>
添加到web.config将解决问题,而且确实如此。报告渲染时间从10分钟到10秒,但现在我的系统其他部分的动态变量不起作用。这是错误:
动态操作只能在同质AppDomain中执行。
有没有办法在一页中设置<trust legacyCasModel="true" level="Full"/>
或具有相同效果的内容?
答案 0 :(得分:1)
将.net框架更改为3.5将有助于您在半个时间内加载报告。您可以尝试一下。
答案 1 :(得分: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应用程序池的独立应用程序,可能值得快速测试
答案 2 :(得分:0)
可能无法仅为一个页面设置信任级别,但是您可以将具有ReportViewer
控件的页面分隔为新的Web应用程序,从而将新的应用程序域分开。这样,web.config更改只会影响报表查看器页面。
此解决方法还有一些其他好处,如:
答案 3 :(得分:0)
请使用以下链接获取更多信息
<强> https://codeontime.com/blog/2014/08/improving-performance-of-reports-in 强>
添加:
<trust legacyCasModel="true" level="Full"/>
部分:Webconfig的configuration / system.web。 它有助于将报告性能提高10倍。但是在MVC项目中影响动态对象。