しばらく私はC#でコーディングしているので、自分と友人のためにいくつかの小さなツールを作成しようとしていますが、問題が発生しています。C#HtmlAgilityPack値を更新する
これは問題です。私はHmtlAgilityPackを使用して、いくつかの異なるアクションのためにそれを使用するために変化する価値を得たいと考えています。しかし問題は、プログラムを再起動するまで、値が同じ値に固定されてしまうことです。それは最初のウェブサイトをロードしますので、ここで
public static void Main(string[] args)
{
Console.WriteLine("Running the program!");
Console.WriteLine("Reading the value!");
int i = 0;
string url = "Website";
while (i < 300)
{
i++;
HtmlWeb web = new HtmlWeb();
HtmlDocument LoadWebsite = web.Load(url);
HtmlNode rateNode = LoadWebsite.DocumentNode.SelectSingleNode("//div[@class='the-value']");
string rate = rateNode.InnerText;
Console.WriteLine(i + ". " + rate);
Thread.Sleep(1000);
}
Console.WriteLine("Done");
Console.ReadLine();
}
:だからここ
は、私が使用しているコードです。次にdivから値を取得します。その後、私はそれをチェックできるように値を書き込みます。しかし、同じ価値を書いているだけです。ここ私の質問は、私は、私は価値が数秒ごとに変更し、私は私のウェブサイトから最新の値を必要とするので、最新の値を取得するために変更する必要がわからないこと、です。システムを稼働させ続けるためには値が必要なのと同じです。
後 'Thread.Sleep'、明確なすべてのもの、すなわち'ウェブ= null'なので、 'LoadWebsite = null'なので、それはあなたに同じレコードを与えるかどうかを次の反復をご確認ください。 –
提案していただきありがとうございますが、それは変更されていないか、少なくともそれはすばやく変更されませんでした。たぶん、別の面を最初に読み込んでから最初の面をもう一度読み込んだり、プログラムのキャッシュなどをきれいにして値を乗り切るなど、完全に変更しなければならないことがあります。 ところで値が変更されたが、一度だけ2分のようにあなたが求めるものの無関係なものの – Varmint
を遅らせるための方法であるいは、 'Timer'代わりに、アプリケーション内の状態を応答しない原因となるメインスレッドを寝ての使用することができます。 – mcy