MSCharts "Нет HTTP-обработчика для запроса типа" GET "
Я попытался установить MSCharts на моем сервере Win2008.
Он установлен без проблем.
Тогда я написал
в конфигурации.
Но когда я пытаюсь открыть страницу с диаграммами, она возвращает следующую ошибку.
Для типа запроса "GET" не найдено http-обработчика
Есть ли у вас какие-либо проблемы?
Ответы
Ответ 1
Это то, что вам нужно для ASP.NET 4.0/IIS 7.5 для Windows 7:
Ваш файл web.config должен содержать следующее:
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;" />
</appSettings>
<compilation targetFramework="4.0">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<system.webServer>
<handlers>
<add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
Вам также нужно это в верхней части страницы aspx:
<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
Надеюсь, что это поможет
Ответ 2
Решение было в веб-конфигурации. IIS7 требуется для записи обработчиков внутри system.webserver, но не в system.web. Поэтому я просто перемещаю обработчик и добавляю атрибут имени по мере необходимости.
Ответ 3
Как Danil, IIS7 требует, чтобы вы поместили обработчики в
<system.webserver>
<handlers>
Добавьте две строки ниже после последних надстроек
<add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="ReportViewer" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler,Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Ответ 4
Не знаю ничего о MSCharts, но я бы сказал, попробуйте изменить AppPool для приложения на "Classic.NET AppPool".
В качестве альтернативы вам может потребоваться изменить файл web.config, чтобы добавить туда обработчик. См. Сообщение Рика Страйля здесь.