Wcf data services WCF-RIA:第二次函数调用后拒绝访问
我有一个使用Silverlight和WCF RIA的Web应用程序。该应用程序还使用表单身份验证和HTTP。 Silverlight应用程序调用具有多个公共函数的DomainService。域类的顶部是属性: [需要重新验证] [启用客户端访问] 此应用程序和域服务已经运行了很长一段时间,但突然,在多台测试机器上,我们开始出现错误: System.ServiceModel.DomainServices.Client.DomainOperationException: 查询“MyFunction”的加载操作失败。进入运营 “MyFunction”被拒绝 问题是,这只会发生在第二天,以及随后对该服务的任何调用。例如,如果从我的Silverlight应用程序中,我首先调用function,这将正常工作,并且服务函数中的属性 this.ServiceContext.User.Identity.IsAuthenticated 返回True。但是如果我调用服务中的第二个函数,就会得到错误。如果我在第二个函数中设置断点,它将永远不会被命中 如果我注释掉属性[RequireAuthentication],那么一切都会再次起作用。为了安全起见,我需要对用户进行身份验证。当我返回到常规的aspx页面并检查身份验证时,用户仍然是经过身份验证的 我已经检查了我知道的所有可能的配置选项,无法跟踪此问题。它在第一次调用时起作用,但在每次调用时都会出现访问错误,这一事实令人费解 在服务中,我重写了Initialize函数,以便检查Identity属性并查看用户是否经过身份验证。第一次打电话 context.User.Identity.Name 具有价值和价值 IsAuthenticated==真 如前所述,我在服务中调用的第一个函数现在将成功,但我在服务context.User.Identity.Name中调用的第二个函数将是空字符串,IsAuthenticated将为false 问题是,我知道用户仍然在网站上进行身份验证,因为如果我重新加载Silverlight页面并再次调用该服务,第一个函数调用会将我视为已验证,然后第二个函数调用不会再次验证。此外,如果我返回到常规的非Silverlight aspx页面,我仍然是经过身份验证的 有什么想法吗Wcf data services WCF-RIA:第二次函数调用后拒绝访问,wcf-data-services,wcf-ria-services,Wcf Data Services,Wcf Ria Services,我有一个使用Silverlight和WCF RIA的Web应用程序。该应用程序还使用表单身份验证和HTTP。 Silverlight应用程序调用具有多个公共函数的DomainService。域类的顶部是属性: [需要重新验证] [启用客户端访问] 此应用程序和域服务已经运行了很长一段时间,但突然,在多台测试机器上,我们开始出现错误: System.ServiceModel.DomainServices.Client.DomainOperationException: 查询“MyFunction”
谢谢我发现了这个问题。另一位程序员最近在app.xaml.cs中添加了以下代码行
WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
我把这行注释掉了,一切都好了,我可以要求对我的域服务进行身份验证