ASP.NET Web Servise Erişim İzni

Merhabalar arkadaşlar,
İonic framework kullanarak basit bir mobil uygulama yapıyordum (Kendimi geliştirmek amacıyla) bu uygulamada internet üstünde sql veritabanıyla bağlantı kurmaya çalıştım. ajax kodunu ve webservisi yazdım test ettim çalışıyordu. Ancak ajax kodunu ionic frameworke yazıp bilgileri çekmeye çalıştığımda hata aldım. Muhtemelen sizde tarayıcınızn konsolunda aşağıdaki hatayı göreceksiniz

XMLHttpRequest cannot load http://benimdomainim/webservice No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘null’ is therefore not allowed access.

 

Araştırmalarım sonucu öğrendim web servise yalnızca aynı domain içinde bulunan bir dosyadan istek gönderirsek çalışıyormuş . Örnekle anlatıcak olursak

 mustafa.zenbil.com(web servisin çalıştığı domain)  — mustafa.zenbil.com(istek gönderen sayfa)  / çalışır
 mustafa.zenbil.com(web servisin çalıştığı domain)  —  zenbil.com(istek gönderen sayfa )  / çalışmaz

 mustafa.zenbil.com(web servisin çalıştığı domain)  — mobil uygulama(istek gönderen) / çalışmaz

mobil uygulamadan yada başka domainde çalışan bir siteden web servise erişebilmek için gelen isteklere izin vermemiz lazım . Web Servisi CORS destekli hale getirebiliriz ancak bu biraz daha teferruatlı bir iş bununla ilgili kaynakları isterseniz internette bulabilirsiniz . Aşağıda verdiğim kodu global.asax dosyasına eklediğinizde nereden istek gönderirseniz gönderin web servisinize erişebileceksiniz .

 

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
   
    if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
      {
          HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
          HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type");
          HttpContext.Current.Response.End();
      }  
}

Add a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir