Bugünkü yazım, Xamarin.Forms üzerine...
Xamarin.Forms ile ilgilenmeye başladıktan sonra, hiç şüphesiz sunucu ile irtibat kurma ihtiyacı hissedeceksiniz. Xamarin.Forms'a yeni başlayıp hızlı ilerlemek isteyenlerin mutlaka karşılacakları problemlerden biri de, Visual Studio ile bize sunulan IIS Express hizmetinin sağladığı sunucu adresinin, mobil cihaz üzerinde çalışamaması olacaktır.
Bunun sebebi, IIS Express'in ağ erişimine kapalı olmasındandır. (Buna dair araştırma yapmadım ancak görünen durum da bu)
Bunu aşmak için, tavsiye edilen şey, IIS Express yerine doğrudan IIS kullanmaktır.
Bunun için uygulanması gereken birkaç adım var.
Öncelikle, Denetim Masasında "Windows özelliklerini aç veya kapat" ekranından "Internet Information Services" aktif hâle getirilmelidir.
Ayrıca Visual Studio Installer ekranından "Development Time IIS Support" ("Geliştirme zamanı IIS desteği") işaretlenip kurulmalıdır.
Bu işlemden sonra, yapılması gereken, mobil uygulamanın bağlanacağı projenin ayarlarında, sunucu tercihini IIS Express'den IIS'e çevirmektir.
Bu değişiklikle beraber, örneğin http://localhost:50000/ şeklinde olan adres, http://localhost/ProjeAdi şeklinde değişecektir. Artık bu adres ile tarayıcınız üzerinden sorgulamalar yapabilirsiniz.
Ancak, bizim ihtiyacımız olan şey, bu adrese mobil cihaz üzerinden bağlantı kurmak olduğu için, bu şekliyle bize çözüm sunmayacaktır.
Mobil cihazlar, içlerinden bir işletim sistemi barındırdıkları için, kendilerine ait bir localhost tanımı vardır. Bu sebeple, http://localhost/ProjeAdi gibi bir adres tarifi, mobil cihazın kendi bünyesinde olan bir adrese işaret edecektir.
Bu problemi aşmak için, sunucunun çalıştığı cihazın IP adresine ihtiyacımız olacaktır. Ancak DHCP sebebiyle, cihaz her açıldığında bu adres değişir. Bu yüzden IP adresiniz sabitlememiz gerekmektedir.
Yazıyı gereksiz yere uzatmamak için, bunu anlatan örnek bir video adresi sunuyorum: https://www.youtube.com/watch?v=WbMOfTJGw9A
IP adresinize de sabitledikten sonra, tek yapmanız gereken, Xamarin.Forms projesi içinde kullandığınız sunucu adresini, http://192.168.1.30/ProjeAdi şeklinde değiştirmek olacaktır. Mobil cihazınız ve sunucunuz aynı ağda olduğu için, problem çıkarmadan çalışacaktır.