After deploying an application to IIS 7.0 from it’s dev environment ( VS 2008 & the Cassini Web Server ), I noticed that Report Viewer reports stopped displaying correctly. Instead of showing reports, the Report Viewer control only rendered the following:
After digging around a bit, I discovered the root cause of the issue to be that IIS 7.0 was not displaying resources for the report. Resources are pulled through a call to Reserved.ReportViewerWebControl.axd, and if I hit that URL directly, I received an IIS-served 404 message.
After taking a look at the web.config, I noticed that the handler for Report Viewer resources was registered under the <system.web> section of the file, but not under the <system.webserver> section ( used by IIS 7.0 when in Integrated Mode). To fix the issue, the following handler registration was needed in the web.config:
Version=188.8.131.52, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
After adding the registration and refreshing the page, Report Viewer happily displayed the report and it’s associated images: