У меня есть приложение VS 2010 WebForm, которое использует элемент управления ReportViewer, и оно отлично работает на локальном DevFabric из базы данных SqlAzure и использует состояние SqlAzure Session (для ReportViewer).
Приложение также использует федерацию ACS, которая отлично работает как в локальной DevFabric, так и в развернутой веб-странице Azure.
Веб-роль (2 экземпляра) настроена с FullTrust
Теперь, добавив в ReportViewer и связанных с ним rdlcs, при развертывании в облаке я могу получить ReportViewer для рендеринга, но вместо получения каких-либо данных я получаю исключение следующим образом:
Скрытое выражение дляtablix «TimesheetDate» содержит ошибку: запрос разрешения типа «System.Security.Permissions.SecurityPermission, mscorlib, версия = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089» завершился неудачей.
Как я уже говорил, это прекрасно работает в локальном DevFabric, но не работает в веб-ролике Azure (2 экземпляра) в любых отчетах, где используется скрытое поле.
Очевидно, что выражение вызывает проблему безопасности, но так как это Azure, я не уверен, где я могу изменить настройки
У кого-нибудь есть идеи?
РЕДАКТИРОВАТЬ: Простонашел это как возможное исправление:
ReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(
new System.Security.PermissionSet(
System.Security.Permissions.PermissionState.Unrestricted));