Genere una imagen/adjunto de correo electrónico con un gráfico en C#

Tengo un trabajador en segundo plano que funciona las 24 horas del día, los 7 días de la semana en varios servidores. Me gustaría que ese trabajador genere una cantidad de correos electrónicos que contengan PNG o PDF que representen una cantidad de puntos de datos en algunas series de gráficos, que se trazan en un gráfico.

¿Alguna sugerencia sobre los controles o métodos a usar para lograr esto? Actualmente poseemos el conjunto de productos de Telerik, si esto ayuda

preguntado el 04 de julio de 12 a las 01:07

2 Respuestas

Yo sugeriría mschart. Se incluye con .Net 3.5 y 4. Aquí está el enlace para descargar las soluciones VS de muestra de Microsoft:

http://archive.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591

Guardar en un png es tan simple como algo como

chartObject.SaveAs("file.png", ChartImageFormat.Png);

Y los objetos de gráfico también se pueden guardar en varios formatos en flujos de memoria.

¡Y los gráficos realmente pueden verse geniales si eso es importante!

Respondido 04 Jul 12, 02:07

Para una solución rápida y sucia, ¿por qué no generar CSV que se pueda importar fácilmente a una hoja de cálculo que esté lista para trazar los datos?

De manera más general, sugeriría que sus procesos de back-end no produzcan las imágenes y solo recopilen y envíen datos a otro lugar. podrías usar rrdtool or grafito para hacer la recolección y el trazado. Esto le permitiría tener gráficos para una máquina, gráficos agregados de todos los servidores, etc.

Respondido 04 Jul 12, 02:07

Me gustaría crear un correo electrónico HTML que tenga imágenes incorporadas y proporcione el gráfico de los datos directamente en el correo electrónico. - Igorek

Si tiene varios servidores, esto significaría varios correos electrónicos, ¿correcto? - tímpano

No estoy seguro de entender el punto de la pregunta, pero todos los servidores funcionan en un entorno distribuido pero con carga equilibrada y enviarían un correo electrónico diario a cada uno de nuestros clientes con un informe diario. La lógica que distribuyó el trabajo de correo electrónico para que se ejecutara en varios servidores ya existe y funciona y no tiene nada que ver con el control del gráfico. - Igorek

Mi punto es que si cada servidor envía un correo electrónico, entonces tendría estadísticas solo para sí mismo. - tímpano

Todos los servidores extraen datos de un almacenamiento centralizado. Esto no es un problema. - Igorek

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.