RIA身份验证期间出现问题

时间:2010-06-08 15:49:40

标签: c# silverlight wcf-ria-services

我在RIA中构建了一个继承自DomainService和IAuthenticate的身份验证服务。

问题在于:

由于凭据错误导致LoginOperation失败(loginOperation.LoginSuccess为false),一切正常,并报告给用户。

然而,当登录成功时,我会抛出一个非常奇怪的例外:

{System.ServiceModel.DomainServices.Client.DomainOperationException:查询'登录'的加载操作失败。值不能为空。

参数名称:validationErrors ---> System.ArgumentNullException:值不能为null。 参数名称:validationErrors 在System.ServiceModel.DomainServices.Client.QueryCompletedResult..ctor(IEnumerable 1 entities, IEnumerable 1 includedEntities,Int32 totalCount,IEnumerable`1 validationErrors)


我真的不明白这一点。什么是IEnumerable validationErrors,它出现在哪里?为什么它必须是!= null?在将我的身份验证服务从Nhibernate移植到Entity Framework之后,这种情况就开始发生了。我甚至试过谷歌搜索这个例外,显然我是迄今为止唯一遇到此问题的人。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

似乎RIA不支持属性中的linq表达式。 IEnumerable Roles中的Getter是问题所在。你必须手动填写;你不能写return (from a in User.UserRoles select a.Description).AsEnumerable();这样的东西,它不会起作用。

答案 1 :(得分:0)