.net - net - chart c# example
Excepción de controles de gráfico.NET 3.5: Error al ejecutar la solicitud secundaria para ChartImg.axd (12)
Publiqué una forma en que solucioné este problema en el foro de MSDN:
Bueno, todavía no sé por qué recibí la excepción, pero parece que encontré una solución alternativa. Hice un experimento en el que tomé el supuesto web.config ofensivo y lo copié en un nuevo proyecto donde agregué un nuevo formulario web y control de gráfico y el control de gráfico se procesó bien con la opción "UseHttpHandler". Esto me llevó a creer que en realidad no era el problema de la configuración web. En mi caso, volví al proyecto original y agregué un gráfico a otro formulario web como experimento, ¡y funcionó! ¡Aún más sorprendente fue que después de eso fui a la página ofensiva y también funcionó! Luego saqué el nuevo gráfico de la otra página y verifiqué la página ofensiva original y se rompió nuevamente. Luego descubrí que si pongo un control de gráfico en cualquier página antes de la página ofensiva, funcionaría, de lo contrario arrojó la excepción. Estos controles son tan geniales, que no tuve problemas para encontrar otra página para poner en el camino de la página ofensiva :)
Esto solucionó el problema, pero si alguien tiene alguna teoría, ¿por qué me interesaría ... tal vez un error?
¿Alguien que recibe este error cuando usa los nuevos controles de gráfico gratuitos que MS compró a Dundas?
"Error al ejecutar la solicitud secundaria para ChartImg.axd"
En el foro de MSDN sugirieron que era mi web.config: publicación en el foro de MSDN
Hasta ahora, eso no ha solucionado el problema. ¿Alguna otra idea?
Me encontré con este error, pero para corregirlo agregué un elemento a la sección system.web / httpHandler de mi archivo web.config. Agregué el siguiente:
<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" />
Solo quería señalar que también es un problema de permiso con el error de imagen no encontrada.
Establezca los permisos "Permitir modificar" en su carpeta de imágenes (de manera predeterminada es "C: / ArchivosImagen Temp" para la cuenta en la que se está ejecutando su sitio web).
El problema desaparece
Por favor agrégalo en 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"
Gracias
Basanth
Más información sobre esto:
También estaba teniendo problemas con los problemas de web.config y lo remediaba al asegurar que web.config no se abría en el editor de código cuando arrastraba y soltaba el control Chart en la página. Si web.config aún no estaba abierto, Visual Studio 2010 haría las modificaciones apropiadas.
Pude superar con éxito el error "error al ejecutar solicitud de niño" después de aplicar con éxito los problemas de web.config.
También con respecto al uso en una aplicación MVC, estaba luchando para implementar esto en mi aplicación MVC 2 (VS2010 / .NET 4) y encontré otro gotcha.
La llamada de la página a ChartImg.axd estaba dando como resultado un error HTTP 404. (Encontré esto usando Fiddler).
Resulta que la página intentaba acceder al controlador desde /MyController/ChartImg.axd en lugar de /ChartImg.axd (desde la raíz).
Pude solucionar el problema agregando esta línea a mi archivo Global.asax.cs:
routes.IgnoreRoute("{controller}/{resource}.axd/{*pathInfo}");
Este podría haber sido el problema para algunos usuarios que tuvieron que recurrir a cambiar la propiedad Chart.ImageStorageMode.
intente (no olvide la ruta en la clave 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>
En .NET 4.0 los gráficos vienen incorporados, pero aún puede necesitar agregar la etiqueta similar a continuación:
<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" />
Encontré el mismo problema: la tabla funcionaría en una página, pero no en la siguiente. Resulta que si el gráfico se inicializa por primera vez en un POST (es decir, una devolución de datos), se produce el error porque el controlador está configurado incorrectamente. Para solucionar el problema, modifique la configuración de httpHandler a la que el usuario LaptopHeaven se refiere en este tema agregando el verbo 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" />
He escrito una explicación más detallada de por qué ocurre este error en la publicación del foro de MSDN a la que se refirió Scott Anderson en su publicación inicial de este tema.
Otra causa de este problema puede deberse a que el grupo de aplicaciones está configurado en modo ''Clásico''. Mi controlador se configuró correctamente, pero estaba recibiendo el mismo error.
<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" />
Tan pronto como cambié el grupo de aplicaciones al modo ''Integrado''. El control de gráfico comenzó a funcionar correctamente.
También tenga en cuenta que si bien arrastrar el control de gráfico desde la caja de herramientas a su página se supone que debe crear las entradas necesarias en web.config, esto solo ocurre si se encuentra en modo de diseño en ese momento.
Si estás en modo fuente y arrastras y sueltas, no sucederá.
Además, debe haber alguna forma de registro que se produce en el archivo de proyecto / clase cuando agrega un control de gráfico en modo de diseño. Porque si estás en modo fuente y tienes un control de gráfico, no obtendrás las entradas en web.config como se indica arriba. Si luego ingresa en el modo de diseño y va desde la caja de herramientas a la página, obtendrá las entradas en web.config.
Pero si luego borra el gráfico, ya lo hizo en modo de diseño, borrará las entradas de web.config (asumiendo un solo sitio de página) aunque todavía tenga el otro control de gráfico en la página desde el momento en que ingresó a modo fuente
Entonces no, no estás loco, simplemente no es intuitivo. ;)
Este problema se resolvió agregando chatImageHandler en el 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>
para más detalles: http://www.infinetsoft.com/Post/-Solved-Error-executing-child-request-for-ChartImg-axd/1164#.VyenrNJ97cs
En IIS 6.0 (Server 2003), este error se producirá si falta el httpHandler (ver respuesta anterior )
Al examinar el seguimiento de la pila, parece que IIS 6.0 asume que se cargará un controlador. Hace una ejecución en la declaración y se traga la excepción. Incluir el siguiente atributo (como se muestra arriba) en httpHandlers en IIS 6.0 solucionó esto por mí.
<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"/>
Tenga en cuenta que cambié la versión de la respuesta anterior a la 4.0.0.0 y probé en Server 2008 (IIS 7.0) y Server 2003 (IIS 6.0)