在PLINQ语句中执行方法调用

时间:2011-11-20 18:53:35

标签: c# linq

我正在WCF服务上运行一个小测试,因此我正在加载1000个帐户,并且我想要调用一个返回对象的方法。我在这里遗漏了一些东西,因为永远不会调用runAccount方法。

 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;
    }

这里的要点是我想为列表中的每个帐户运行调用,并填充一个帮助程序类,其结果是为调用计时并查找高/低和平均值。问题是从未对服务进行实际调用,这有助于数字看起来很棒,但完全是虚假的。

1 个答案:

答案 0 :(得分:3)

as IList<MemberFormDataContract>替换为ToList()。您的select语句的执行将被推迟,直到您强制执行(例如)ToList()。