我看到一个奇怪的问题,我的Silverlight应用程序无法加载由于"加载操作失败的查询..",原因是"拒绝访问System.ServiceModel.DomainServices.Server.DomainService.ValidateMethodPermissions"
如果我使用ie9浏览到完全相同的页面,请求通过和silverlight应用程序加载!这种情况发生在多个服务器上,并且它们的IIS和SQL server配置与我们设置的所有其他系统相同。
关闭自定义错误后,我在Fiddler -
中看到以下堆栈跟踪<代码>拒绝Access@Detail@ domainservicefaultdomainservices i)http://www.w3.org/2001/XMLSchema-instance@ ErrorCode @ errormessage否认Access@IsDomainException�@StackTrace在System.ServiceModel.DomainServices.Server.DomainService。ValidateMethodPermissions(DomainOperationEntry DomainOperationEntry, Object entity)在System.ServiceModel.DomainServices.Server.DomainService。ValidateMethodCall(DomainOperationEntry DomainOperationEntry, Object[] parameters, List 1 validationResults)
at System.ServiceModel.DomainServices.Server.DomainService.Query(QueryDescription queryDescription, IEnumerable
&validationErrors Int32&totalCount)在System.ServiceModel.DomainServices.Hosting.QueryProcessor。Process[TEntity](DomainService DomainService, DomainOperationEntry queryOperation, Object[] parameters, ServiceQuery ServiceQuery, IEnumerable 1& validationErrors, Int32& totalCount)
at System.ServiceModel.DomainServices.Hosting.QueryOperationBehavior
1.QueryOperationInvoker。调用对象实例,对象[]输入,对象[]&输出)代码>
该站点在我信任的站点中。
当我连接到silverlight应用程序并调试身份验证过程时,它似乎很好,用户被验证了。但是,当它在此之后实际尝试对服务运行查询时,它们会因拒绝访问而失败!
我不知道为什么这在IE 10中会有任何不同,任何想法都会受到赞赏!谢谢。
还没有100%证明这一点,但似乎在这篇文章中建议的修补程序- IE10 User-Agent导致ASP。Net不发送回Set-Cookie (IE10不设置cookie)修复了这个问题。
似乎是IIS没有正确处理IE10 cookie的问题,所以最初设置了身份验证cookie,然后忽略了。
我猜我们的机器过时了,windows更新方面,因为我认为这个修复现在一定已经发布了。