调用返回列表的异步方法?

时间:2015-04-20 15:32:14

标签: c# wpf wcf asynchronous async-await

我有一个WCF SOA,它会进行许多数据库调用,这反过来会减慢我在http上的View初始化速度。我想尝试在其中一些方法上使用async await:

 _CountryList = await GetCountries();

   private async Task<List<Countries>> GetCountries()
    {
        return _CountryList = await Task.Run(() => new List<Countries>(IsesService.GetArticleCountrys()));
        //_CountryList = new List<Countries>(IsesService.GetArticleCountrys());
    }

最后,这是我对IsesService调用的服务的方法:

  public List<Countries> GetArticleCountrys()
    {
        var query = from c in _Context.tbCountrys
                    select new { c.regionCode, c.shortName };

        List<Countries> CountriesList = new List<Countries>();

        foreach (var c in query)
        {
            Countries country = new Countries()
            {
                regionCode = c.regionCode,
                shortName = c.shortName
            };

            CountriesList.Add(country);
        }

        return CountriesList;
    }

我收到错误: await运算符只能与异步方法一起使用 当然,我可能在这里犯了一个菜鸟错误?

0 个答案:

没有答案