Skip to content
23 Februari 2011 / Jeffrey Hermanto Halimsetiawan

Menghindari Pengambilan Data dari Cache dengan WebClient


Kelas WebClient memungkinkan untuk melakukan pengambilan data dalam bentuk string dari suatu URL tertentu. Permasalahan terjadi ketika misalnya WebClient telah melakukan request ke alamat http://jeffrey.halimsetiawan.net/getHighscore.php untuk memperoleh daftar seluruh skor tertinggi, kemudian melakukan penambahan skor dengan melakukan request ke alamat http://jeffrey.halimsetiawan.net/addScore.php, lalu kembali melakukan request ke alamat http://jeffrey.halimsetiawan.net/getHighscore.php. Daftar skor tertinggi yang diperoleh dalam bentuk XML sebelum dan sesudah terjadi penambahan skor dalam running program yang sama akan menghasilkan XML sebelum terjadi penambahan skor. Hal ini disebabkan karena WebClient akan mengambil data dari cache apabila membuka URL yang sama dengan sebelumnya. Oleh karena itu, tips sederhana yang dapat dimanfaatkan adalah pemanfaatan GUID (Globally Unique Identifier) pada query string URL sebagai berikut:

Semoga bermanfaat.

//GUID menghasilkan 32 alphanumerik yang berbeda sehingga mencegah WebClient agar tidak mengambil data dari cache
string url = string.Format("{0}?{1}","http://jeffrey.halimsetiawan.net/getHighscore.php", Guid.NewGuid().ToString());
WebClient downloader = new WebClient();
downloader.DownloadStringCompleted += new DownloadStringCompletedEventHandler(OnDownloaderDownloadStringCompleted);
downloader.DownloadStringAsync(new Uri(url));

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: