ADNAN ŞAHİN

A quest for software excellence...

Localhost’tan Web Site Yayınlama (IIS)

Internet Information Services, web uygulamalarının yayınlanması için web uygulamalarını barındırıp bunları dışarıya sunacak olan sunucu servislerinden biridir. ASP.NET uygulamaları da yayınlanmak için IIS içerisinde barındırılıyor olmalıdır. IIS dışarıdan gelen çağrıları yanıtlayabilmek için varsayılan olarak 80 nolu portu dinler ve gelen talepleri uygun altyapıya devredip işleterek dışarıya HTML çıktısını gönderir. Biz de geliştirmiş olduğumuz ASP.NET uygulamalarını yayımlamak için IIS üzerinde gerekli konfigürasyonları yaptıktan sonra, uygulamamızı IIS üzerinde barındırıyoruz. Bir ASP.NET uygulamasını IIS üzerinden yayınlamak istiyorsak, IIS üzerinde sanal dizin adını verdiğimiz yapıları kullanmak zorundayız.

Yeni bir web sitesi yayınlamak için ilk olarak Denetim Masası’ndan Yönetimsel Araçlar bölümüne geçilip Internet Information Services (IIS) kısayoluna tıklanarak IIS’in yönetim penceresi açılmalıdır.



Yönetimsel Araçlar bölümünden IIS’e çift tıklandığında IIS’in yönetim penceresi açılıyor olacaktır. Bu pencere aracılığı ile IIS üzerinde bulunan siteler görülüp, özellikleri ayarlanabilir ya da yeni bir site eklenebilir. Yeni bir site eklemek için Siteler üzerinde mouse’ın sağ tuşu ile tıklanıp açılan menüden Add Web Site(Web Sitesi Ekle) seçeneği seçilmelidir. 


 

Yukarıdaki işlemden sonra sanal site adı ve fiziksel dosyaların saklanacağı yer soruluyor olacaktır. Site adı bölümüne istediğimiz ismi yazdıktan sonra fiziksel yol (Physical Path) bölümünden de fiziksel dosyalarımızın, yani ASP.NET dosyalarımızın, bulunduğu bölümü seçiyoruz. Ana bilgisayar adı olarak bölümüne www.sanalsatis.com değerini yazarak ve Tamam diyerek web sitemizi IIS üzerinde hazır hale getiriyoruz.




IIS ile ilgili işlemlerden sonra sitemiz kendi bilgisayarımız üzerinde yayınlamak için C:\Windows\System32\drivers\etc dizini altındaki hosts dosyasını aşağıdaki ekranda görüldüğü gibi değiştirerek kaydediyoruz.


Görüşmek üzere,

Adnan ŞAHİN

ASP.NET'te Web.config Dosyası Özellikleri

ASP.NET’in en güzel yanlarından biri güçlü yapılandırma sistemidir. Bu yapılandırma sistemi XML tabanlı dosyalar kullanır ve "web.config" adlı dosyada saklanır. Bir ASP.NET uygulamasına herhangi bir web.config dosyası eklenmediğinde varsayılan olarak, sistem klasorleri altındaki, Microsoft Framework ile gelen machine.config dosyasından yapılandırmayı kalıtımla alır. Lakin bu hiçbir zaman yeterli değildir. Zaten Visual Studioda bir web sitesi oluşturduğumuz zaman temel yapılandırmalara sahip birer Web.config dosyası oluşturulmuştur. Bir Web.config dosyası standart XML bildirimi ile ( bildirimini ve bu bildirimler içinde de etiketlerini barındırmak zorundadır. Bu ayarları ve denetimleri örnek alarak incelemeye başlayalım.
 AppSettings Düğümü:Uygulamanın her noktasından erişilebilmesi gereken metinsel bilgileri saklamak için bu düğüm kullanılabilir. Burada genellikle sitenin iletişim için kullanılacak olan "e-posta" adresi, veritabanı bağlantısı için "connectionstring" ve uygulamada kullanmak için yazılacak bazı veriler saklanır.Web.config dosyasında gözüktüğü gibi appSettings düğümü system.web altında değil configuration düğümü altında yer alır.

      
            
            
            
            
            
            
            
            
            
            
      
 
CustomErrors Düğümü : CustomErrors ile bir hata oluştuğu zaman kullanıcıya daha oluşan hatayı göstermeden sadece hata olduğunu bildiren bir sayfa gösterip, kullanıcı dostu bir web uygulaması oluşturulabilir ya da en azından ayrıntılı hata mesajını kullanıcının görmesini engellemek için kullanılabilir. Böylelikle herhangi bir hata olursa uygulamadan "hata.aspx"in gösterilmesi istenir.

                  
 
 
Connectionstrings: Bağlantının yapılabilmesi için gerekli olan, hangi ana makineye bağlantı yapılacağını, o ana makinedeki hangi veritabanına bağlanılacağını, o veritabanına bağlanmak için gerekli olan kullanıcı adı ve şifresi gibi bilgilerin tutulduğu bir kod parçasıdır.

 

 
 
  
Globalization: Bu öğe ASP.NET’ te uygulamanın genelleşmesi ayarlarını denetler. Bu düğüm, istek,yanıt ve dosyalar için kullanılan kodlamanın yani sıra web uygulamanızdaki yerel kültürel(dil vb.) ayarları da içerir. öğesinin söz dizimi aşağıdaki gibidir;

   
Authorization Düğüm Yapısı: Authorization düğümü ile sisteme giriş yapan kullanıcıların, nerelere erişip erişmeyeceğinin ayarları yapılabilir. Bu düğüm içerisinde kullanılabilecek iki tane daha alt düğüm vardır. Bu iki düğüm, kullanıcının erişim yetkileri için kullanılmaktadır. Allow: Allow düğümü ile ilgili alana erişim yetkisi verilecek olan kişi ve gruplar belirtiliyor. Deny: Deny düğümü ile ilgili alana erişimi yasaklanan kişi ve gruplar belirtiliyor.
     
            
                  
                        
                        
                  
            
      
    

ASP.NET’te Paypal Kullanımı

PayPal, e-posta adresi olan herkesin güvenli bir şekilde para gönderip alabilmesine olanak sağlayan alternatif bir ödeme sistemidir. Bu sistem bazı e-ticaret siteleri tarafından temel ödeme sistemi olarak tanınmış ve birçok site tarafından da alternatif ödeme sistemi olarak desteklenmektedir. PayPal ödeme sistemini destekleyen bir elektronik ticaret sitesinden alışveriş yaparken alışverişinizi sonlandırmak istediğinizde sitenin sizin için hazırladığı PayPal ödeme ara yüzünden PayPal hesabınıza ait e-posta adresiniz ve parolanızı girerek ödeme işlemini gerçekleştirebilirsiniz. Bu sistemin en güzel yönü kredi kartı bilgilerinizi PayPal üzerine kaydettikten sonra kredi kartı bilgilerinizi her sitede yeniden vermek zorunda olmayışınızdır. ASP.NET ile paypal ödeme sisteminin aslında birçok yöntemi var. Ama en basiti aşağıdaki gibidir. Çok fazla uğraşmadan ödeme tutarını ve e-mail adresini paypal sayfasına request ediyorsunuz ve ödeme sayfasını açıyor. Eğer işlem başarılıysa sizin belirttiğiniz adrese gönderiyor. Sonuç olarak burada yapılan QueryString ile Paypal'e bilgiler gönderilip ve daha sonra kullanıcı PayPal hesabına giriş yapıp ödemesini tamamlar .Aşağıda bu PayPal ile ödeme yapmak için oluşturmuş olduğumuz metot bulunmaktadır.
 public static string ToPayPalCheckout(string orderName, decimal pTotalAmount,string name,string shippingCost,string taxCost,string city,string state)
    {
        //Amerikada "." kullanıldığı için "," ile replace ediyoruz.
        string totalAmount = Convert.ToString(pTotalAmount).Replace(',', '.');
        string taxAmount = Convert.ToString(taxCost).Replace(',', '.');
        totalAmount = totalAmount.Substring(0, totalAmount.Length - 2);
 
        string redirecturl = "";
 
        redirecturl += SanalSatisConfiguration.PayPalUrl + "cmd=_xclick&business=" +
        SanalSatisConfiguration.PayPalEmail; 
 
        redirecturl += "&first_name"+name;
 
 
        redirecturl += "&city="+city;
 
        redirecturl += "&state="+state;
 
        //Product Name
        redirecturl += "&item_name=" + orderName;
 
 
        //Product Amount
         redirecturl += String.Format("&amount={0:c}",totalAmount );
 
        redirecturl += "&shipping="+shippingCost
       
        redirecturl += "&tax="+taxAmount;
 
 
        //Currency code
        redirecturl += "&cy=" + SanalSatisConfiguration.PayPalCurrency;
 
        //Success return page url
        redirecturl += "&return=" + SanalSatisConfiguration.PayPalReturnUrl;
 
        redirecturl += "&cancel_return=" + SanalSatisConfiguration.PayPalCancelUrl;
 
        return HttpUtility.UrlPathEncode(redirecturl);
 
    }
Metotta SanalSatisConfiguration.PayPalUrl, SanalSatisConfiguration.PayPalReturnUrl, SanalSatisConfiguration. PayPalCancelUrl ve SanalSatisConfiguration.PayPalEmail değerlerini webconfig dosyasından okuyoruz.
  
    
    
    
    
    

Bu metoda gerekli parametreleri verdikten sonra satış işlemini yaptığımız aspx sayfasında yapacağımız sadece yönlendirmedir. Bunu hyperlink ile ya da buton ile yapabiliriz.