我有一个使用WIF进行身份验证的WCF Web服务。此Web服务的部分职责是生成报告并通过电子邮件发送。如果我用数据呈现报告,那么一切都很好。如果我包含任何报表参数,报表常量甚至是DateTime,现在都会收到以下异常:
An error occurred during local report processing.Failed to load expression host assembly. Details: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed
我可以在不使用WIF的WCF服务中运行相同的报告,因此很明显,关于安全性环境的某些建议是模糊的。
我真的不知道如何继续解决这个问题。有人可以帮忙吗?
谢谢!
最佳答案
这有效:
var reportInstance = new LocalReport();
reportInstance.SetBasePermissionsForSandboxAppDomain(new PermissionSet(PermissionState.Unrestricted));
我真的不明白为什么。我确实知道该报表已被授予它无法从WIF获得的权限,但是我不知道这些权限是什么,或者为什么需要它们。因此,我的回答是“给人一条鱼”,但是其他人可以通过解释更深层次的问题来“教人一条鱼”吗?
关于wcf - Reporting Services LocalReport和WIF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4794968/