C# WebBrowser.DocumentText doesn't update after refresh or navigate again
<p>I'll try to make it simple. When my program starts, a WebBrowser navigates to a URL. When it finishs loading, I use the event <code>webBrowser_DocumentCompleted</code> to test <code>if (webBrowser.ReadyState == WebBrowserReadyState.Complete)</code>. If true, I extract the html from the WebBrowser using <code>stringHtml = webBrowser.DocumentText;</code>, then do some HTML parsing to extract the information I need. (Basically, I need to retrieve some date/hour records in that page and show them). But the HTML of the URL changes when someone add another date/hour record. After adding other records, the user clicks a button in my program and it will do the work again: navigate to the URL, extract HTML, parse it and do stuff.</p>

<p>What is happenning: in my computer it works fine, but to some others the refresh/navigate again doesn't catch the new records. It brings the same HTML of the last time it was requested. I think WebBrowser has some kind of caching system. I've already tried:</p>

<ul>
<li>Do a <code>webBrowser.Refresh(WebBrowserRefreshOption.Completely)</code> before retrieving <code>DocumentText</code> again;</li>
<li><code>webBrowser.Document.OpenNew(true)</code> before the option above;</li>
<li><code>Navigate("about:blank")</code> + <code>Document.Write(String.Empty)</code> then navigate(myURL)</li>
<li><code>WebBrowser.Dispose()</code> then creating a new and then navigate</li>
<li>I've Chrome as default browser and other people had IE, so I tried changing their default to Chrome too (though I think it doesn't matter)</li>
</ul>

<p>The code looks something like this:</p>

<pre><code>private void btnGetHTML_Click(object sender, EventArgs e)
{
    webBrowser1.Document.OpenNew(true);
    webBrowser1.Refresh(WebBrowserRefreshOption.Completely);

    webBrowser1.Navigate(MyURL); // because Refresh doesn't fire DocumentCompleted event
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
    {
        stringHtml = webBrowser1.DocumentText;
        DoStuff();
    }
}

private void DoStuff()
{
    // For example, if I write stringHtml in a file just to check it, it will not be updated for some users
}
</code></pre>

<p>None of these solutions worked for others, but it still works just fine for me. Is this a caching issue? What should I do to get a updated version of the HTML?</p>