terça-feira, 22 de julho de 2014

Reportview - problemas da locaweb - Security Level Medium

 Report Viewer

O Report Viewer é uma ferramenta da própria Microsoft, integrada ao Visual Studio .Net que permite a geração de relatórios. Estes relatórios são implementados de forma simplificada e possuem algumas funcionalidades interessantes, como a importação de relatórios para outros aplicativos.


Visto que o Report Viewer é uma ferramenta integrada ao Visual Studio .Net e não ao próprio .Net Framework, o mesmo não é instalado por padrão em nossos servidores. Entretanto, caso queira utilizar esta funcionalidade no seu site, você pode alocar os 'assemblies' referentes ao Report Viewer na pasta \Bin\ da sua aplicação.


Normalmente, estes assemblies ficam localizados no diretório onde está instalado o Visual Studio .Net na sua máquina local, por exemplo:
C:\Program Files\Microsoft Visual Studio 8\ReportViewer\ Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WebForms.xml
Microsoft.ReportViewer.WinForms.dll
Microsoft.ReportViewer.WinForms.xml
RSClientPrint.cab


Dependendo da funcionalidade que estiver utilizando, o assembly correspondente deve ser alocado em sua aplicação. Caso tenha dúvidas, basta verificar no arquivo Web.Config da sua aplicação quais os assembly's estão sendo requisitados. A verificação é feita em : Configuration > System.Web > Compilation > Assemblies.
Exemplo:
<add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXX"/>
<add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXX"/>
Assemblies requisitados:
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.WebForms.dll


Além dos assemblies requisitados pelo Web.config, um assembly que geralmente é requisitado é o 'Microsoft.ReportViewer.ProcessingObjectModel' no qual é sugerido também que aloque em sua aplicação. Este arquivo geralmente é encontrado no diretório do Windows e só pode ser copiado através do prompt de comando.
C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel>8.0.0.0__b03f5f7f11d50a3a\

C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel>9.0.0.0__b03f5f7f11d50a3a\

Observações


  • Não recomendamos que utilize arquivos '*.rdlc' pré-compilados em sua aplicação. Caso utilize desta forma, possivelmente sua aplicação requisitará a instalação do ReportViewer no servidor e conseqüentemente em erros na aplicação. O recomendado é utilizar a compilação parcial da aplicação e/ou enviar o arquivo com o código fonte original.
  • NÃO é possível a utilização do Report Viewer em servidores Windows 2008/IIS7 devido as configurações do Security Level do Framework ASP.NET.
  • A utilização de DLL's que utilizam o Security Level do FrameWork em Full Trust irão funcionar somente em servidores Windows 2003