我正在通过asp.net reportviewer查看SSRS报告,其中有4个多值参数,其中两个包含600多个值。
报告正确加载,但是当我点击“查看报告”按钮时,它会显示“sys.webforms.pagerequestmanagerservererrorexception”错误。
我使用了以下设置并重新启动了Reporting Services,但它无法正常工作。
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="10000" />
<add key="aspnet:MaxJsonDeserializerMembers" value="10000" />
</appSettings>
如果我在这两个参数中限制查询前50名,报告工作正常。
请帮忙。
答案 0 :(得分:0)
如果报表查看器依赖查询字符串进行呈现,则可能是查询字符串大小的问题:例如,在IE中,此限制为2048个字符。
然而,我认为你可能不应该传递600个参数;一个可行的选择是创建一个临时表,用你的值填充它并更改报告以便从中读取,而不是接收多个参数。
答案 1 :(得分:0)
作为一种解决方法,或许可以尝试拆分这些参数以减少单个下拉列表中的值数量。例如,Cities A-H, Cities I-P, Cities R-Z
。
答案 2 :(得分:0)
现在解决了。让我分享它,这样它也可以帮助别人。
我添加了在Report Server web.config中的问题中提到的appsetting,现在我已经在使用Report viewer的ASP.NET网站的web.config中添加了它,现在它正常工作。
感谢所有人的回复。