Можно ли запустить AngleSharp в Parallel.Foreach()

280
17 ноября 2017, 05:37

Собственно сабж. Нужно вытащить содержимое определенного тэга. Но страниц очень много и приходится обрабатывать их в Parallel.Foreach(). Пытался использовать AngleSharp, но получил проблему.
На большом количестве данных - исключение, на малом - не обрабатывает все данные.
Использовать lock(o) - потерять все преимущества. Можно ли что-то сделать?

код:

Parallel.ForEach<LogDataVM>(ParcedData, (item) =>
            {
                GetTitle(item);
             }
            });
private void GetTitle(LogDataVM item)
    {
        if (string.IsNullOrEmpty(item.UnloadedFile.Url)) return;
        string tempurl = item.UnloadedFile.Url[0] == '/' ? Domen.DomenName + item.UnloadedFile.Url : item.UnloadedFile.Url;
        // Используем библиотеку AngleSharp
        try
        {
            Url url = new Url(tempurl);
            IDocument document;
            var config = Configuration.Default.WithDefaultLoader();
                document = BrowsingContext.New(config).OpenAsync(url).Result;

            item.UnloadedFile.Title = document.Title;
        }
        catch (Exception e)
        {
            throw new WebException(e.Message);
        }
        return;
    }
READ ALSO
Как в .Net Core (c#) скрывать методы базового класса

Как в .Net Core (c#) скрывать методы базового класса

Сокрытие методовДелаю библиотеку классов (

303
Как получить заголовки или куки в awesomium?

Как получить заголовки или куки в awesomium?

Пробовал через javaScript получить куки

376
Какой метод лучше использовать?

Какой метод лучше использовать?

Задача проста - управлять службой звукаКогда надо включить\выключить

275
Не рабоатет Threadpool в Xamarin?

Не рабоатет Threadpool в Xamarin?

Не рабоатет Threadpool в Xamarin,как это можно пофиксить

281