正式機的環境是Windows 2008,IIS 7
google了一下發現,原來是IIS 7讀web.config的方式有變,不再讀取<system.web>裡<httpHandlerss>的設定,而改讀<system.webServer>裡的<handlers>的設定
原本在IIS 6中,要在config裡的system.web設定
<system.web> <httpHandlers> <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> </httpHandlers> </system.web>
在IIS 7卻要設定在
<system.webServer> <handlers> <add name="ReportViewerWebControl" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </handlers> </system.webServer>
設定完後,ReportViewer就可以正常顯示了
備註
經亂馬客大的建議得知,只要將應用程式集區的Managed管線模式由整合式改為傳統即可解決此問題