我有一个使用ReportViewer控件的VS 2010 WebForm应用程序,它在SqlAzure数据库的本地DevFabric上运行并且使用SqlAzure会话状态(对于ReportViewer)。
该应用程序还使用了ACS Federation,它在本地DevFabric和已部署的azure webrole中都可以正常工作。
webrole(2个实例)配置了FullTrust
现在,已添加到ReportViewer和相关的rdlcs中,当我部署到云时,我可以让ReportViewer呈现,但不是获取任何数据,我得到如下异常:
Tablix'TimesheetDate'的隐藏表达式包含错误:请求类型'System.Security.Permissions.SecurityPermission,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败。的
正如我所说,这在本地DevFabric中完美运行,但在任何使用Hidden字段的报告中,Azure webrole(2个实例)都失败了。
显然,该表达式导致了安全问题,但由于这是Azure,我不确定我可以在哪里更改设置
有人有任何想法吗?
编辑:刚刚发现这是一个可能的解决方案:
ReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(
new System.Security.PermissionSet(
System.Security.Permissions.PermissionState.Unrestricted));
答案 0 :(得分:0)
此修复程序在Azure WebRole中使用并且运行正常。
鉴于Azure修补是“标准”,因此其他修补程序不太可能导致问题。
自2011年10月下旬以来,EDIT中的代码一直在部署的Azure环境中工作