Buforowanie i formant WebBrowser w .Net

Używam formantu WebBrowser w .Net, aby wykonać konwersje marketingowe innych firm.

Mam tabelę kolejek w bazie danych ze wszystkimi skryptami / obrazami do wykonania. Przechodzę przez te wszystkie w aplikacji WinForms za pomocą formantu WebBrowser. Po wykonaniu skryptu / obrazu usuwam formant WebBrowser, ustawiam go na null i odnawiam go za pomocą nowej instancji kontrolki WebBrowser.

Rozważ ten adres URL:http: //renderserver/RenderScript.aspx? id = 1

RenderScript.aspx wyświetla obraz z adresem URL np .:http: //3rdparty/img.ashx? id = 9343

Używam Fiddlera, aby zobaczyć wszystkie żądania i odpowiedzi, a gdy ten sam URL jest wykonywany dwa razy, używa pewnego rodzaju pamięci podręcznej. Ta pamięć podręczna znajduje się pod samą kontrolą WebBrowser.

Ta pamięć podręczna oznacza, że ​​img.ashx nie jest wywoływany.

Próbowałem za pomocą przeglądarki Internet Explorer zażądać adresu URL:http: //renderserver/RenderScript.aspx? id = 1 i naciśnij F5. Wtedy jest to wymagane idealnie.

Ale jeśli kliknę pasek adresu i kliknę Enter, aby ponownie przejść do tego samego adresu URL - nie jest to wymagane. Kiedy używam Firefoksa, będę prosić o stronę i obraz za każdym razem, niezależnie od tego, czy użyję F5, czy nawiguję z paska adresu.

Znalazłem kilka wywołań API Win32 (http://support.microsoft.com/kb/326201), który był w stanie wyczyścić pamięć podręczną. Działało na mojej lokalnej maszynie. Następnie aplikacja została wdrożona na serwerze z systemem Windows Server 2003 Standard x64 (mój własny komputer to Vista x86).

A teraz wywołania interfejsu API do czyszczenia pamięci podręcznej nie działają.

Wszelkie pomysły na to, dlaczego wywołania interfejsu API nie działają w systemie Windows Server, ale działają na systemie Vista? Obie maszyny pracujące z IE8.

questionAnswers(6)

yourAnswerToTheQuestion