Diskuze: Načítání HTML stránek ve smyčce
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
no a proc tam nedas ten prikaz aby tam ta stranka zustala 10s ? pokud ho tam das tak te to nejspis navede k tomu ze stale neuvidis nic a navic aplikace bude strasne zamrzat. to te nasmeruje k tomu ze cekani se neda provadet na UI vlakne a resi se to bud pres casovac nebo pres druhe vlakno. casovace jsou vetsinou 2 jeden nesynchonizovany s UI a druhy synchronizovany a pro komunikaci mezi vlaknem a UI se pouzivaji synchronizace jako Invoke nebo Dispatcher. pokud budes studovat dal tak te to navede k .net 4.5 ktery pridal podporu pro jednoduchou manipulaci s vlakny a UI pomoci klicovych slow await a async.
Urob si jednoduchy casovac (10sec) a v nom si nacitavaj tu stranku;
Nebude Ti to fungovat, ak iba vytvoris cyklus (foreach) na citanie
stranky
a na jeho konci dat pauzu 10sec;
Tohle je na mě moc složité, tak daleko se myslím nikdy nedostanu
Ale vyřešil jsem to přes timer, kdy si v timeru udělám jednoduchou smyčku s IF a počítadlem a načítáním stránky, v DocumentCompleted zastavím timer, vyřeším zpracování stránky a zase pustím timer.
Něco takového by nestačilo? Případně to celé dáš do while (true). Nevím, čeho přesně chceš docílit.
var dokument = HtmlDocument.Load(zdroj);
var aTags = dokument.DocumentNode.SelectNodes("//a[@href]");
foreach (var aTag in aTags)
{
cesta = aTag.Attributes["href"].Value;
webBrowser1.Navigate(cesta);
Thread.Sleep(10 * 1000);
}
Nechceš si uspat hlavní vlákno na 10 vteřin
Zobrazeno 7 zpráv z 7.