'+' symbol problem in URL in IIS 7.x
The reason why you are facing this error is that IIS7 has introduced new URL filtering rules for security reasons.So '+' sign is blocked by default as part of security reason in URL.
To resolve this issue you have to set allowDoubleEscaping="true" in web.config files.Here is the tag to do that.
<system.webServer><security> <requestFiltering allowDoubleEscaping="true"> </requestFiltering></security>
You can change the + to %20 when encoding to handle this programmatically, assuming that you have control over the code that's producing the urls.