Asp Net Chart
-
terça-feira, 17 de abril de 2012 20:48
Pessoal;
No meu trabalho tem uma aplicação onde utilizamos o componente asp net Chart, porém, esses gráficos são criados dinamicamente conforme dados retornados do banco. O problema é que ao publicar minha aplicação no IIS toda vez que acesso uma dessas telas que criam gráficos, os gráficos são gerados e armazenados na pasta que a página está publicada, ou seja, se tem a página "RelatorioFuncionario", é recuperada a pasta que essa página está e os gráficos gerados são gravados nessa pasta para depois serem exibidos na tela.
O maior problema nisso tudo é que com 5 acessos são gerados aproximadamente 300 gráficos. Daqui um mês, com milhares de acessos à página terei milhões de imagens na pasta.
Sendo assim, preciso fazer um processo para apagar esses gráficos todos os dias e pelo fato de existirem umas 5 telas que utilizam esse método para exibir gráficos, seria meio inviável a cada acesso verificar os gráficos do dia anterior para apagá-los.
Alguém aí que já passou por isso tem uma ideia simples e eficiente de fazer isso?
Deise Vicentin
"Eu não procuro saber as respostas, procuro compreender as perguntas." Confúcio
Todas as Respostas
-
quarta-feira, 18 de abril de 2012 12:09ModeradorDeise que eu lembre vc pode fazer uma config no webconfig para ele, vc tentou chamar um dispose no final para ver se apaga?
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC
-
quarta-feira, 18 de abril de 2012 12:19
Deise que eu lembre vc pode fazer uma config no webconfig para ele, vc tentou chamar um dispose no final para ver se apaga?
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC
Seilor,
Ainda não tentei isso.
O que tenho de configuração relacionado à gráficos (no web.config) na aplicação é isso:
<appSettings> <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" /> </appSettings>
<system.webServer> <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>
<system.web>
<httpHandlers>
<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" />
</httpHandlers></system.web>
Para os gráficos que são adicionados na página como um controle fixo isso funciona, ele cria a imagem do gráfico temporariamente, nunca fica lixo no servidor.
Vou tentar fazer o dispose pra ver o que acontece.
Valeu!
Deise Vicentin
"Eu não procuro saber as respostas, procuro compreender as perguntas." Confúcio -
quarta-feira, 18 de abril de 2012 18:33
É só isto mesmo.
Outra coisa importante é que vc precisa definir uma pasta chamada TempImageFiles no C: para a geração dos arquivos temporarios.
-
quarta-feira, 18 de abril de 2012 23:48
É só isto mesmo.
Outra coisa importante é que vc precisa definir uma pasta chamada TempImageFiles no C: para a geração dos arquivos temporarios.
Cleber;
Eu tenho essa pasta criada no meu servidor!
Deise Vicentin
"Eu não procuro saber as respostas, procuro compreender as perguntas." Confúcio -
quinta-feira, 19 de abril de 2012 11:16Eu utilizo em todos os meus sistemas, assim que é gerado o grafico quando saí da pagina ele mesmo apaga as imagens.
-
quinta-feira, 19 de abril de 2012 20:56
Pessoal;
Consegui resolver o problema. Antes quando eu criava o gráfico eu tinha o seguinte código:
Chart mainChart = new Chart(); mainChart.ImageStorageMode = ImageStorageMode.UseImageLocation;
Depois que eu exclui essa segunda linha funcionou da forma que eu queria, não deixa mais os arquivos temporários nas pastas.
Fica a dica!!
Deise Vicentin
"Eu não procuro saber as respostas, procuro compreender as perguntas." Confúcio- Marcado como Resposta Deise Vicentin quinta-feira, 19 de abril de 2012 20:57
- Marcado como Resposta Deise Vicentin quinta-feira, 19 de abril de 2012 20:57

