Mudanças entre as edições de "Página de geração de PDF abre mas o conteúdo não aparece"

De LATROMI Manuais
Ir para: navegação, pesquisa
(Ver Também)
 
Linha 38: Linha 38:
 
=Ver Também=
 
=Ver Também=
 
* [[Problemas Frequentes|Lista de Problemas Frequentes]]
 
* [[Problemas Frequentes|Lista de Problemas Frequentes]]
* [http://msdn.microsoft.com/en-us/library/vstudio/ms228122(v=vs.100).aspx Browser Definition File Schema (browsers Element)]
+
* [http://msdn.microsoft.com/en-us/library/vstudio/ms228122(v=vs.100).aspx MSDN - Browser Definition File Schema (browsers Element)]

Edição atual tal como às 11h45min de 28 de maio de 2014

Problema

RPT não carrega e sinal de carregamento não desaparece

Ao abrir uma página, que deveria ser carregada com um PDF, o sinal de carregamento da página não desaparece, e o conteúdo do RPT não é exibido.

Causa

O servidor retorna para o navegador uma instrução que indica que o arquivo (no caso, o arquivo.pdf) pode ser baixado de forma particionada, mas o navegador não consegue unir todos os pacotes. Neste caso o arquivo é gerado corretamente no lado do servidor, mas acontece uma falha no download do arquivo.

Essa falha pode ser observada através das ferramentas de depuração do Google Chrome, na aba Network, onde o arquivo PDF aparecerá primeiro com status 200-OK em vermelho seguido do status 206-Partial Content, como pode ser visto na imagem abaixo:

ChromeNetworkDebug 206PartialContent.JPG

Solução

A solução para este problema, é desabilitar o recurso de download de arquivos particionados. Se você usa a versão 7 ou superior do IIS e está atualizado com a versão 2.0.0.1 ou superior do site, a solução já foi incluída no aquivo de configuração (Web.Config), na sessão:

  <httpProtocol>
     <customHeaders> 
        <add name="Accept-Ranges" value="none" />
     </customHeaders>
  </httpProtocol>

IIS 6

Tela de manipulação de Cabeçalhos Customizados no IIS 6

Se você usa a versão 6 do IIS, siga os passos abaixo para alterar o cabeçaho HTTP Accept-Ranges:

  • Abra o gerenciador de IIS (Iniciar > executar > inetmgr).
  • Na listagem à direita, selecione a aplicação web correspondente, clique com o botão direito do mouse e vá até a opção Propriedades.
  • Na janela que foi aberta, clique na aba Cabeçalhos HTTP.
  • Clique no botão Adicionar
  • No campo Nome do cabeçalho personalizado digite Accept-Ranges.
  • No campo Valor do cabeçalho personalizado digite none'.
  • Cliquei em OK para adicionar e clique em OK na tela de propriedades da aplicação para concluir.
  • Reinicie o servido do IIS.

Ver Também