2011-11-20 3 views
0

WCF 서비스에 대한 작은 테스트를 실행 중이므로 1000 개의 계정을로드하고 각각에 대해 개체를 반환하는 메서드를 호출하려고합니다. runAccount 메서드가 호출되지 않으므로 여기에 뭔가 빠져 있습니다. 여기PLINQ 문에서 메서드 호출 실행

private static void RunTest() 
    { 
     var accounts = CsvHelper.ParseCsv(@"Data\acccounts.csv"); 

     GeneralHelper.MemberData = (from a in accounts.AsParallel() 
            select runAccount(a)) as IList<MemberFormDataContract>; //PLINQ 
    } 


    private static MemberFormDataContract runAccount(Account acct) 
    { 
     IAccountMasterService accountMasterService = new AccountMasterServiceClient(); 
     MemberFormDataContract memberFormDataContract = accountMasterService.FindMemberFormByAccountId(acct.Id); 
     return memberFormDataContract; 
    } 

요점은 내가 목록의 각 계정에 대한 호출을 실행하고 호출 타이밍 및/높은 낮은 평균 찾고있는 결과 헬퍼 클래스를 채우려는 것이다. 문제는 서비스에 대한 실제 전화가 결코 만들어지지 않아서 전화 번호가 환상적으로 보이지만 완전히 가짜가되는 데 도움이된다는 것입니다.

답변

3

as IList<MemberFormDataContract>ToList()으로 바꿉니다. select 문의 실행은 강제로 (예 : ToList()) 실행될 때까지 지연됩니다.

+0

글쎄, 이것은 일요일 오후에 가장 단순한 일들을 돌진하는 것이 시간 낭비라는 것을 증명합니다. 감사. – BryanGrimes

+1

GeneralHelper.MemberData에 지정된 반환 값은 pobably null입니다. 또한 쿼리는 GeneralHelper.MemberData의 데이터를 사용하는 경우에만 실행된다는 점도 기억하십시오. 디버거에서 줄을 뛰어 넘은 후 실행하지 마십시오. –

+0

LOL, 악화, 여기 일요일 밤이야. –