вторник, 28 апреля 2009 г.

ReportViewer не работает под IIS 7

Недавно пришлось использовать компонент ReportViewer в ASP.NET.
У меня на ноутбуке стоит Vista Business и IIS7.
При открытии страницы в IE, FireFox - получаю кучу JS ошибок. Проблема кроется в новой структуре Web.config файла для IIS 7.
Когда вы добавляете на страницу компонент ReportViewer, студия добавляет ссылку на http handler для этого компонента. Это нужно для того, чтоб ASP.NET использовало сборку Microsoft.Reporting.WebForms.HttpHandler при обращении к ReportViewerWebControl.axd:

<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>



В новой структуре секция system.web\httpHandlers теперь перенесена в system.webServer\handlers, но студия редактирует конфиг как для IIS 6.

Для решения проблемы надо создать соответствующую секцию:

<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>


сross post: http://blogs.msdn.com/vijaysk/archive/2009/01/14/report-viewer-toolbar-does-not-render-properly-on-iis-7-0.aspx

3 комментария:

  1. Вот так доверяешь мелкософту, смотиршь в глаза, а они так с тобой поступают...

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить