Собственно сабж.
Нужно вытащить содержимое определенного тэга. Но страниц очень много и приходится обрабатывать их в 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;
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Задача проста - управлять службой звукаКогда надо включить\выключить