相关疑难解决方法(0)

C#异步方法仍然挂起UI

我有这两种方法,我想运行异步以保持UI响应.但是,它仍然悬挂着UI.有什么建议?

async void DoScrape()
    {
        var feed = new Feed();

        var results = await feed.GetList();
        foreach (var itemObject in results)
        {
            var item = new ListViewItem(itemObject.Title);
            item.SubItems.Add(itemObject.Link);
            item.SubItems.Add(itemObject.Description);
            LstResults.Items.Add(item);
        }
    }


    public class Feed
    {
        async public Task<List<ItemObject>> GetList()
        {
            var client = new WebClient();
            string content = await client.DownloadStringTaskAsync(new Uri("anyUrl"));
            var lstItemObjects = new List<ItemObject>();
            var feed = new XmlDocument();
            feed.LoadXml(content);
            var nodes = feed.GetElementsByTagName("item");

            foreach (XmlNode node in nodes)
            {
                var tmpItemObject = new ItemObject();
                var title = …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous webclient c#-5.0 async-ctp

9
推荐指数
2
解决办法
4021
查看次数

标签 统计

async-ctp ×1

asynchronous ×1

c# ×1

c#-5.0 ×1

webclient ×1