I received a call yesterday from a customer that many of his reports that use a multi select parameter no longer work. The user could select all his parameters and click View Report with the result being a blank screen and a note in the status bar “Error On Page”.
There were two errors in the SSRS Logs that kept showing up:
System.Web.HttpException: The URL-encoded form data is not valid.
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position X.
After some digging I discovered that this only appeared to happen with multi selects when the user selected A LOT of items in the list. Looking for what may have changed I discovered that a security patch (KB2656351) was applied to the report server which resolves a vulnerability in the .Net Framework partially by limiting the number of records that can be submitted via web forms to 1,000.
Since my users are selecting more than 1,000 items in their multi select parameters the reports cease functioning on the occasions they select more than 1,000 items in the multi select parameter.
This can be easily resolved by increasing the size limit for MaxHttpCollectionKeys in the Report Manager web.config file. Inside the <appSettings> tag add:
<add key=”aspnet:MaxHttpCollectionKeys” value=”10000″ />
with a value of anything you need to accommodate your list size. You’ll need to restart the SSRS service for the changes to take effect.