Подтвердить что ты не робот

Исключение элемента управления диаграммой .NET 3.5: ошибка выполнения дочернего запроса для ChartImg.axd

Кто-нибудь получает эту ошибку при использовании новых бесплатных графических элементов управления MS, приобретенных у Dundas?

"Ошибка выполнения дочернего запроса для ChartImg.axd"

На форуме MSDN они предположили, что это мой web.config:  Сообщение форума MSDN

Пока что проблема не устранена. Любые другие идеи?

4b9b3361

Ответ 1

Я столкнулся с той же проблемой: диаграмма будет работать на одной странице, но не на следующей. Оказывается, если диаграмма инициализируется впервые в POST (т.е. Обратная передача), возникает ошибка, потому что обработчик настроен неправильно. Чтобы исправить проблему, измените конфигурацию httpHandler, которую пользователь LaptopHeaven упоминает в этом разделе, добавив команду POST:

<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

Я написал более подробное объяснение, почему эта ошибка возникает в сообщении форума MSDN, о котором упоминал Скотт Андерсон в своем вступительном слове этой темы.

Ответ 2

Я столкнулся с этой ошибкой, но исправил ее, добавив элемент в раздел system.web\httpHandler моего файла web.config. Я добавил следующее:

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

Ответ 3

В .NET 4.0 диаграммы встроены, но вам все равно может понадобиться добавить следующий тег ниже:

<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

Ответ 4

попробуйте (не забудьте путь в файле ChartImageHandler)

    <appSettings>
    <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
</appSettings>

<httpHandlers>
...
    <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
...
</httpHandlers>

<handlers>
...
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

...
</handlers>

Ответ 5

Также обратите внимание, что при перетаскивании элемента управления диаграммы из панели инструментов на вашу страницу предполагается создание необходимых записей в файле web.config, это происходит только , если вы находитесь в режиме дизайна в то время.

Если вы находитесь в режиме источника и перетаскиваете его, это не произойдет.

Кроме того, должна быть какая-то форма регистрации, которая возникает в файле project/class, когда вы добавляете элемент управления диаграммой в режиме разработки. Потому что, если вы находитесь в режиме источника и dnd управляете диаграммой, вы не получите записи в web.config, как указано выше. Если вы затем перейдете в режим разработки и dnd из панели инструментов на страницу, вы получите записи в web.config.

Но если вы удалите диаграмму, вы выйдете в режим разработки, она уничтожит записи из web.config(при условии, что на одном сайте страницы), даже если у вас все еще есть другой элемент управления диаграммы на странице, когда вы dnd 'd в исходный режим.

Так что нет, ты не сумасшедший, это просто не интуитивно.;)

Ответ 6

Я опубликовал способ, которым я исправил эту проблему на форуме MSDN:

Ну, я до сих пор не знаю, почему я получаю исключение, но я, похоже, нашел обходное решение. Я сделал эксперимент, в котором я взял предполагаемый оскорбительный web.config и скопировал его в новый проект, где я добавил новую веб-форму и элемент управления диаграммой, а элемент управления диаграммы отлично отобразил параметр "UseHttpHandler". Это заставило меня поверить, что на самом деле это не проблема web.config, поэтому я вернулся к исходному проекту и добавил диаграмму в другую веб-форму в качестве эксперимента, и это сработало! Еще более удивительным было то, что после этого я пошел на оскорбительную страницу, и это сработало! Затем я снял новый график с другой страницы и проверил оригинальную оскорбительную страницу, и она снова была сломана. Затем я выяснил, поставил ли я элемент управления диаграммой на любую страницу перед оскорбительной страницей, это сработает, иначе это исключило бы исключение. Эти элементы управления настолько классные, что у меня не было проблем с поиском другой страницы, чтобы поместить ее на путь нарушающей страницы:)

Это фиксировало проблему, но если у кого-то есть теория, почему мне было бы интересно... может быть, ошибка?

Ответ 7

Дополнительная информация по этому вопросу:

У меня также возникли проблемы с проблемами web.config и исправлено, что, гарантируя, что web.config не был открыт в редакторе кода, когда я перетащил элемент управления Chart на страницу. Если web.config еще не был открыт, Visual Studio 2010 внесет соответствующие изменения.

Мне удалось успешно пройти ошибку "Ошибка выполнения дочернего запроса" после успешного применения проблем web.config.

Кроме того, что касается использования в приложении MVC, я пытался реализовать это в своем приложении MVC 2 (VS2010/.NET 4) и столкнулся с другой ошибкой.

В результате вызова страницы в ChartImg.axd произошла ошибка HTTP 404. (Я нашел это с помощью Fiddler.)

Оказывается, страница пыталась получить доступ к обработчику из /MyController/ChartImg.axd вместо/ChartImg.axd(из корня).

Мне удалось исправить проблему, добавив эту строку в файл Global.asax.cs:

routes.IgnoreRoute("{controller}/{resource}.axd/{*pathInfo}");

Это может быть проблемой для некоторых пользователей, которым приходилось прибегать к изменению свойства Chart.ImageStorageMode.

Ответ 8

Просто хочу указать, что это также проблема разрешения с ошибкой, не найденной с изображением.

Установите разрешения "Разрешить изменение" в папке с изображением (по умолчанию это "C:\TempImageFiles" для учетной записи, на которой работает ваш веб-сайт.

Проблема исчезает.

Ответ 9

Добавьте его в webconfig

add verb = "GET, HEAD" path = "ChartImg.axd" type = "System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version = 3.5.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35"

Спасибо

Basanth

Ответ 10

В IIS 6.0 (Server 2003) эта ошибка возникает, если отсутствует httpHandler (см. Предыдущий ответ)

При взгляде на трассировку стека IIS 6.0 предполагает, что обработчик будет загружен. Он выполняет Execute в заявлении, и исключение проглатывается. Включая следующий атрибут (как показано выше) под httpHandlers в IIS 6.0, исправил это для меня.

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  validate="false"/>

Обратите внимание, что я изменил версию из предыдущего ответа на 4.0.0.0 и протестировал ее в Server 2008 (IIS 7.0) и Server 2003 (IIS 6.0)

Ответ 11

Другой причиной этой проблемы может быть то, что пул приложений установлен в режим "Классический". Мой обработчик был настроен правильно, но я получал ту же ошибку.

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

Как только я включил пул приложений в режим "Интегрированный". Элемент управления диаграммой начал работать правильно.

Ответ 12

Эта проблема была решена путем добавления chatImageHandler в webconfig.

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <remove name="ChartImageHandler"/>
      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" 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>

для более подробной информации: http://www.infinetsoft.com/Post/-Solved-Error-executing-child-request-for-ChartImg-axd/1164#.VyenrNJ97cs