The Hidden expression for the subreport (…) contains an error: Request for the permission of type ‘System.Security.Permissions.SecurityPermission’

Outro dia me deparei com a seguinte exception ao renderizar um report local:

The Hidden expression for the subreport ‘<DataSetName>’ contains an error: Request for the permission of type ‘System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’ failed.

Quando processamos um report localmente (leia: fora do Reporting Services) e o Report Viewer carrega uma expressão associada com um assembly, é criado um sandboxed Application Domain (AppDomain) na memória. Esse AppDomain é criado com um conjunto de restrições de segurança.

Para atribuir mais permissões para este Sandboxed Application Domain é possível utilizar o método ‘SetBasePermissionsForSandboxAppDomain’ para alterar o cunjunto de restrições de segurança atuais.

A chamada de método abaixo deve alterar esse conjunto de permissões e elevar o nível de segurança do Sandboxed Application Domain.

myReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(new PermissionSet(PermissionState.Unrestricted));

 

FH

Referências:

http://msdn.microsoft.com/en-us/library/vstudio/microsoft.reporting.webforms.localreport.setbasepermissionsforsandboxappdomain(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/vstudio/microsoft.reporting.winforms.localreport.releasesandboxappdomain(v=vs.100).aspx

http://forums.asp.net/t/1809122.aspx

Publicidade

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.