我发现一个奇怪的问题,我的Silverlight应用程序由于“查询加载操作失败”而无法加载,原因是“拒绝访问System.ServiceModel.DomainServices.Server.DomainService.ValidateMethodPermissions”< / p>
如果我使用IE 9浏览完全相同的页面,请求将通过并加载silverlight应用程序!这发生在多个服务器上,其IIS和SQL Server的配置与我们设置的所有其他系统相同。
关闭自定义错误后,我在Fiddler中看到以下堆栈跟踪 -
Denied Access@Detail@DomainServiceFaultDomainServices i)http://www.w3.org/2001/XMLSchema-instance@ ErrorCode��@ErrorMessage�
Denied Access@IsDomainException�@
StackTrace�r 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)
at System.ServiceModel.DomainServices.Hosting.QueryProcessor.Process[TEntity](DomainService domainService, DomainOperationEntry queryOperation, Object[] parameters, ServiceQuery serviceQuery, IEnumerable1& validationErrors, Int32& totalCount)
at System.ServiceModel.DomainServices.Hosting.QueryOperationBehavior
1.QueryOperationInvoker.InvokeCore(Object instance, Object[] inputs, Object[]& outputs)
该网站位于我信任的网站中。
当我附加到silverlight应用程序并调试身份验证过程时,它似乎很好并且用户已经过验证。但是当它实际上尝试在此之后对服务运行查询时,它们会因拒绝访问而失败!
我很遗憾为什么在IE 10中会有任何不同,任何想法都会受到赞赏!感谢。
答案 0 :(得分:1)
尚未100%证明这一点,但似乎此帖子中建议的修补程序 - IE10 User-Agent causes ASP.Net to not send back Set-Cookie (IE10 not setting cookies)解决了这个问题。
IIS似乎没有正确处理IE10 cookie的问题,因此最初设置了身份验证cookie,然后忽略了。
我猜我们的机器已经过时了,windows更新方式,因为我认为此修复程序现在必须已经分发。但尚未确认。