Azure ReportViewer отлично работает в DevFabric, создает исключение при развертывании Azure. - PullRequest
1 голос
/ 19 октября 2011

У меня есть приложение 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));

1 Ответ

0 голосов
/ 24 февраля 2012

Это исправление использовалось в Azure WebRole и работало нормально.

Принимая во внимание, что исправление Azure является «стандартным», тогда менее вероятно, что другие исправления могут вызвать проблему.

Код в EDIT работает в развернутой среде Azure с конца октября2011

...