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:
<add name="ReportViewerWebControl"
preCondition="integratedMode"
verb="*" path="Reserved.ReportViewerWebControl.axd"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms,
Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
After adding the registration and refreshing the page, Report Viewer happily displayed the report and it’s associated images:
- Colin
ca4f2301-7776-484e-8f56-c1769b2c0ad8|1|5.0