2010-06-08 11 views
3

저는 RIA에서 DomainService 및 IAuthenticate를 상속받은 인증 서비스를 구축했습니다.RIA 인증 중 문제가 발생했습니다.

문제는 다음입니다 :

LoginOperation이 실패

(loginOperation.LoginSuccess가 false)으로 인해 잘못된 자격 증명, 모든 것을 확인하고이를 사용자에게보고됩니다.

{System.ServiceModel.DomainServices.Client.DomainOperationException :로드 작업이 쿼리 '로그인'실패 로그인에 성공하면

그러나, 나는 정말 이상한 예외를 throw 얻을. 값은 null 일 수 없습니다.

매개 변수 이름 : 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로 인증 서비스를 이식 한 후에 시작되었습니다. 나는 심지어이 예외로 인터넷 검색을 시도하고 분명히 지금 까지이 문제가있는 유일한 사람이야.

도움을 주시면 감사하겠습니다.

답변

0

RIA가 속성에서 linq 표현식을 지원하지 않는 것 같습니다. IEnumerable 역할의 Getter가 문제였습니다. 수동으로 입력해야합니다. return (from a in User.UserRoles select a.Description).AsEnumerable(); 같은 것을 쓸 수 없다면 작동하지 않습니다.

0

동일한 문제가 발생하여 도움을 주셔서 감사합니다. 당신이 ToList을 (수행 할 때

그러나,이 같은) 가능 :

[DataMember] 
public IEnumerable<string> Roles 
{ 
    get 
    { 
     return ApplicationRoles.Select(r => r.Name).ToList(); 
    } 
    set 
    { 
     // TODO 
    } 
} 
관련 문제