Mengijinkan Emultor Windows Phone untuk Akses Lokal IIS Web Server

Ada beberapa hal yang membuat hal ini mesti dilakukan :

  1. (mungkin) ingin memeriksa fungsional dan UI dari web yang telah dibangun secara lokal.
  2. (mungkin) ingin mencoba web service atau web api secara lokal.

Web server lokal yang terdapat pada PC development yang kita gunakan kemungkinan ada dua yaitu IIS dan IIS Express (yang biasanya digunakan pada Visual Studio).

{IIS}

Baiklah, kalau begitu langsung saja untuk mencobanya. Pertama adalah mencoba untuk mengakses IIS (tanpa Express), kalau via web browser di PC maka biasanya kita akses web server tersebut dengan menuliskan http://localhost pada address bar dan akan dilihat seperti tampilan berikut :

blog2

Dan hal yang sama akan dicoba juga pada emulator Windows Phone, seperti yang bisa dilihat pada gambar di bawah ini.

blog1

Hasilnya … Ternyata tidak terjadi pada emulator Windows Phone. Hal ini disebabkan emulator adalah “komputer” yang berbeda dengan PC. Selain itu alamat http://localhost adalah cara yang digunakan untuk mengakses “diri sendiri”, artinya ketika menuliskan alamat tersebut pada emulator maka artinya akan mengakses web server pada emulator tersebut, sedangkan yang kita inginkan adalah mengakses web server pada PC.

Jadi cara yang mudah untuk mengakses web server pada PC adalah dengan menggunakan IP addrees dari PC. IP address ini bisa diketahui dengan menuliskan ipconfig pada command prompt.

blog3

Sekarang pada IE yang terdapat pada emulator akan diakses alamat http://169.254.8080 dan hasilnya :

blog4

Ternyata tidak bisa juga. Hal ini kemungkinan karena kebijakan security dari sistem operasi yang tidak memperbolehkan akses dari luar. Untuk menguji hal itu kita dapat mematikan terlebih dahulu firewall.

blog5

Dan berikut adalah hasilnya.

blog6

{IIS Express}

Saat development, IIS Express akan sering digunakan karena web server ini terintegrasi dengan tool development Visual Studio.  Untuk mengakses IIS Express biasanya terdapat tambahan nilai port dibelakang alamat di atas. 

blog7

Nah misalnya ingin diakses web dari project ContohWebAPI yang beralamat di http://localhost:8492 maka bisa ditulis alamat tersebut pada emulator. Dan sayangnya hal tersebut tidak mendapatkan response dari IIS Express tersebut. Tapi seperti yang telah disebutkan di atas semestinya digunakan IP Address, maka alamat yang mesti digunakan adalah http://169.254.80.80:8492. Akan tetapi dengan mengetikkan alamat tersebut pada emulator tidak mendapatkan response dari IIS Express.

Agar ISS Express dapat diakses dengan mengetikan IP Address maka perlu melakukan langkah-langkah berikut ini.

Mengedit file applicationhost.config yang terdapat pada folder %USERPROFILE%\Documents\IISExpress\config\.  Kemudian cari nama project yang ingin diakses, pada kasus ini nama project yang akan digunakan adalah ContohWebAPI.

   1: <site name="ContohWebAPI" id="29">

   2:     <application path="/" applicationPool="Clr4IntegratedAppPool">

   3:         <virtualDirectory path="/" physicalPath="D:\Data\My Documents\My Books\INDC - ASP.NET Web API\source\WebAPIEbook\ContohWebAPI" />

   4:     </application>

   5:     <bindings>

   6:         <binding protocol="http" bindingInformation="*:8492:localhost" />

   7:     </bindings>

   8: </site>

Kemudian copy baris ke-6 dan ubah localhost menjadi IP Address yang akan digunakan, sehingga hasilnya akan seperti yang terlihat pada baris ke-7.

   1: <site name="ContohWebAPI" id="29">

   2:     <application path="/" applicationPool="Clr4IntegratedAppPool">

   3:         <virtualDirectory path="/" physicalPath="D:\Data\My Documents\My Books\INDC - ASP.NET Web API\source\WebAPIEbook\ContohWebAPI" />

   4:     </application>

   5:     <bindings>

   6:         <binding protocol="http" bindingInformation="*:8492:localhost" />

   7:         <binding protocol="http" bindingInformation="*:8492:169.254.80.80" />

   8:     </bindings>

   9: </site>

Hasilnya dapat dilihat emulator sudah dapat menampilkan web dari alamat http://169.254.80.80:8492.

blog8

Catatan :

Jangan lupa untuk memastikan web application telah “dijalankan” pada Visual Studio.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.