2012-02-21 3 views
1

누군가가 도와 줄 수 있기를 바랍니다.ASP.net 멤버십을 사용하여 실버 라이트에서 aspnet_Users를 얻으십시오

인터넷을 둘러 보았지만 해결할 수없는 것 같습니다.

내가

에 게시 된 코드를 시도

http://blogs.msdn.com/b/kylemc/archive/2010/05/10/using-asp-net-membership-in-silverlight.aspx 내가 도메인을 설정 한

(꽤 오래이며, 언급 한 페이지에서 볼 수 있습니다 여기에 클래스 MembershipServiceUser를 반복하지 않을) 클래스와 코드를 사용하여 사용자를 돌려주는 서비스 :

//[RequiresRole("Managers")] 
public IEnumerable<MembershipServiceUser> GetAllUsers() 
{ 
    return Membership.GetAllUsers().Cast<MembershipUser>().Select(u => new MembershipServiceUser(u)); 

} 

테스트를 위해 RequiresRole을 제거했습니다.

내가 약간 금발 인 것처럼 보이는 것은 GetAllUsers() 메서드를 호출하는 것입니다. 내 코드에서

내가 사용하고 뒤에 :

MembershipDataContext context = new MembershipDataContext(); 
EntityQuery<MembershipServiceUser> users = context.GetAllUsersQuery(); 

나는 나는이 방법을 사용하는 올바른 방법 인 경우 100 % 확실하지 또는 뭔가가 잘못되면

context.GetAllUsersQuery(); returns "Enumeration yielded no results" 

하나 때문에 질문은 kylmc가 // RequiresRole ("Admin")을 사용하는 코드에도 있습니다. ASP.NET 구성 편집기에서 만든 사용자 지정 역할입니까?

Silverlight에서 ASP.NET 인증 서비스 사용에 관한 또 다른 자습서를보고 "관리자"역할을 만들고 해당 역할에 로그인 사용자를 추가했습니다. 역할 관리자가있는 사용자를 사용하여 로그인해도 도움이되지 않으며 결과가 여전히 반환되지 않습니다.

내가 볼 수있는 아이디어가 있습니까?

많은 감사

답변

1

쿼리와 관련된 두 가지 단계가 있습니다.

  1. 도메인 서비스 컨텍스트에서 쿼리 개체를 가져옵니다 (동기식).
  2. 도메인 서비스 컨텍스트 (비동기)에서 쿼리를로드하십시오.

예 :

public void Load() 
{ 
    // define the query 
    var query = context.GetAllUsersQuery(); 

    // start running the query, and when the results return call 
    // OnGetAllUsersLoaded 
    context.Load(query, OnGetAllUsersLoaded, null); 
} 

public void OnGetAllUsersLoaded(LoadOperation op) 
{ 
    var results = op.Entities; 
} 
+0

멋진 사람, TX 너무 많이 – Neill

관련 문제