Usuário com melhor resposta
Report Viewer deixando site lento.

Pergunta
-
Olá,
Meu problema é o seguinte: Estou utilizando o report viewer para gerar os relatorios no meu site asp net. Está tudo certo até que eu abra qualquer relatório... ele até mostra este relatorio perfeitamente, mas quando fecho o relatório o site fica muito lento não abre mais nada, nem páginas normais. Alguém sabe o que pode ser?
Respostas
-
Eu faço parecido
Está em C#
List<ReportParameter> parametros = new List<ReportParameter>(); parametros.Add(new ReportParameter("usuario", usuario)); parametros.Add(new ReportParameter("ano", ano)); parametros.Add(new ReportParameter("mes", mes)); parametros.Add(new ReportParameter("nomemes", nomemes));
reportViewer1.LocalReport.SetParameters(parametros);
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 15:50
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 17:27
- Não Marcado como Resposta Deco Rosa sexta-feira, 7 de novembro de 2014 18:55
- Marcado como Resposta Deco Rosa sexta-feira, 7 de novembro de 2014 18:55
-
Provavelmente deve estar entrando em loop quando você coloca um parâmetro, veja esse artigo:
veja aqui uma solução:
http://www.oficinadanet.com.br/artigo/asp.net/incluir-imagem-no-report-viewer-com-caminho-gravado-no-banco
Especificamente essa parte:
"Como estamos alterando os valores de parâmetro, o ReportViewer é avisado que tem de reiniciar o processamento do relatório. Efetivamente, ele informa ao visualizador para retornar à etapa “a”(colocar o indicador “Loading” no navegador e reiniciar o processamento do relatório). Se o relatório fizer isso durante cada postback, o Report nunca chegará à etapa “b”. Ele só vai ficar em um loop infinito."
https://social.msdn.microsoft.com/Forums/pt-BR/b73040e6-d88a-40e7-9245-51652ab4a090/reportviewer-no-carrega- Editado Mr. GMSOFT terça-feira, 4 de novembro de 2014 14:43
- Sugerido como Resposta Mr. GMSOFT terça-feira, 4 de novembro de 2014 14:59
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 17:27
-
Acho que em vb.net é assim
Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter) parametros.Add(New ReportParameter("usuario", usuario)) parametros.Add(New ReportParameter("ano", ano)) parametros.Add(New ReportParameter("mes", mes)) parametros.Add(New ReportParameter("nomemes", nomemes)) reportViewer1.LocalReport.SetParameters(parametros)
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 15:50
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 17:27
-
Fala Júnior!!!
Cara descobri o problema e vou repassar para quem precisar. Pesquisando ainda mais, descobri que o problema só acontecia se tivesse Debug=false no meu web.config. Quando o Debug estava setado para true não acontecia problema algum. Estranho não é? Então falei com meu amigo Google e ele me passou este link:
http://stackoverflow.com/questions/20253857/compilation-debug-false-is-killing-my-asp-net-site
Abraço obrigado pela ajuda!
Deco Rosa
Todas as Respostas
-
Vc já debugou para ver o que está sendo feito depois qdo vc fecha o relatorio ?
Deco eu faço o seguinte, todos meus relatórios eu abro em um pop-up e sempre mostro em pdf, tive alguns problemas nos navegadores qdo eu exibia pelo report viewer por isso sempre exibo em pdf, não tive mais problemas.
Junior
-
Olá Júnior
Os relatórios estão sendo exibidos em PDF já. Percebi que isso acontece só com relatórios com datasets. Criei um relatório simples com texto estático e aí o problema não ocorre, já se form um relatório real com dados do banco de dados (Mysql) acontece o problema. Será que pode ser algum conflito com as DLLs do Mysql?
-
-
Junior,
Fiz novos teste agora pela manhã e constatei que na verdade o problema só ocorre quando o relatório possui parâmetros. Se eu setar algum parâmetro para o relatório acontece o problema e o site fica muito lento, caso contrário não dá problema. Veja como seto o parâmetro:
Dim par As ReportParameter = New ReportParameter("nome_camp", CStr(Session("nome_camp"))) ReportViewer1.LocalReport.SetParameters(par)
Uso o Report Viewer 11. Será que há algum bug?
-
Provavelmente deve estar entrando em loop quando você coloca um parâmetro, veja esse artigo:
veja aqui uma solução:
http://www.oficinadanet.com.br/artigo/asp.net/incluir-imagem-no-report-viewer-com-caminho-gravado-no-banco
Especificamente essa parte:
"Como estamos alterando os valores de parâmetro, o ReportViewer é avisado que tem de reiniciar o processamento do relatório. Efetivamente, ele informa ao visualizador para retornar à etapa “a”(colocar o indicador “Loading” no navegador e reiniciar o processamento do relatório). Se o relatório fizer isso durante cada postback, o Report nunca chegará à etapa “b”. Ele só vai ficar em um loop infinito."
https://social.msdn.microsoft.com/Forums/pt-BR/b73040e6-d88a-40e7-9245-51652ab4a090/reportviewer-no-carrega- Editado Mr. GMSOFT terça-feira, 4 de novembro de 2014 14:43
- Sugerido como Resposta Mr. GMSOFT terça-feira, 4 de novembro de 2014 14:59
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 17:27
-
Eu faço parecido
Está em C#
List<ReportParameter> parametros = new List<ReportParameter>(); parametros.Add(new ReportParameter("usuario", usuario)); parametros.Add(new ReportParameter("ano", ano)); parametros.Add(new ReportParameter("mes", mes)); parametros.Add(new ReportParameter("nomemes", nomemes));
reportViewer1.LocalReport.SetParameters(parametros);
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 15:50
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 17:27
- Não Marcado como Resposta Deco Rosa sexta-feira, 7 de novembro de 2014 18:55
- Marcado como Resposta Deco Rosa sexta-feira, 7 de novembro de 2014 18:55
-
Acho que em vb.net é assim
Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter) parametros.Add(New ReportParameter("usuario", usuario)) parametros.Add(New ReportParameter("ano", ano)) parametros.Add(New ReportParameter("mes", mes)) parametros.Add(New ReportParameter("nomemes", nomemes)) reportViewer1.LocalReport.SetParameters(parametros)
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 15:50
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 4 de novembro de 2014 17:27
-
-
-
Deixa eu explicar certinho, tenho uma página que mostra dados para o cliente, nesta página tem um botão "imprimir" que chama o report viewer, aí eu passo alguns parâmetros para este relatório. O relatório abre em PDF em uma nova guia do navegador, até aí tudo certo. Quando eu fecho este relatório qualquer requisição que eu faça ao site demora uma eternidade. Percebi que isso só acontece se algum desses parâmetros forem "usados" no relatório ou seja, se houver alguma caixa de texto que exiba este parâmetro. Isso não é estranho?
-
O Crystal entrou em loop eu entendi sua situação, veja na parte em negrito:
"Como estamos alterando os valores de parâmetro, o ReportViewer é avisado que tem de reiniciar o processamento do relatório. Efetivamente, ele informa ao visualizador para retornar à etapa “a”(colocar o indicador “Loading” no navegador e reiniciar o processamento do relatório). Se o relatório fizer isso durante cada postback, o Report nunca chegará à etapa “b”. Ele só vai ficar em um loop infinito."
https://social.msdn.microsoft.com/Forums/pt-BR/b73040e6-d88a-40e7-9245-51652ab4a090/reportviewer-no-carrega- Editado Mr. GMSOFT terça-feira, 4 de novembro de 2014 18:34
-
Fala Júnior!!!
Cara descobri o problema e vou repassar para quem precisar. Pesquisando ainda mais, descobri que o problema só acontecia se tivesse Debug=false no meu web.config. Quando o Debug estava setado para true não acontecia problema algum. Estranho não é? Então falei com meu amigo Google e ele me passou este link:
http://stackoverflow.com/questions/20253857/compilation-debug-false-is-killing-my-asp-net-site
Abraço obrigado pela ajuda!
Deco Rosa