目前我们有一个在浏览器外工作的 silverlight 应用程序,有时 silverlight 应用程序无法通过 RIA 服务连接到服务器,如果我在服务器上记录错误,我会收到以下错误:
Access to operation 'XXXX' was denied.:
at System.ServiceModel.DomainServices.Server.DomainService.ValidateMethodPermissions(DomainOperationEntry domainOperationEntry, Object entity)
at System.ServiceModel.DomainServices.Server.DomainService.ValidateMethodCall(DomainOperationEntry domainOperationEntry, Object[] parameters, List`1 validationResults)
at System.ServiceModel.DomainServices.Server.DomainService.Query(QueryDescription queryDescription, IEnumerable`1& validationErrors, Int32& totalCount)Inner Exception:
烦人的部分是此错误不可重现,有时会发生。
该错误表示您可能在查询方法上具有 RequiresRole 并且当前用户(缺少登录用户)不是必需角色。ValidateMethodPermissions 是域服务检查用户是否有权调用该查询的位置。