2016-04-08 21 views
1

IIS 7.5'ten gelen web API'sı Chrome & Firefox için yanıt vermiyor. Krom 'da aşağıdaki hatayı alıyorum İstenen kaynakta 'Erişim-Denetim-İzin-Kökeni' başlığı yok. Kökeni 'http://10.xx.xx.xx:81' erişim izni verilmez Bu nedenle,CORS sorunu chrome & firefox üzerinde

Firefox atma 401 yetkisiz bir hataya erişim.

İşleri mükemmel IE 11

bu tarayıcılar için gereken herhangi bir ek ayar var mı? Sen izin vermek için bir krom eklenti kullanmak olabilir

cevap

0

"ilk kaynak kendisi vermektedir olandan farklı bir etki alanından bir kaynak istediğinde bir kaynak çapraz kökenli HTTP isteğinde bulunur" CORS:

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

+0

Bu işe yaramaz tarayıcı kontrollü bir ortamda kullanılır. Ayrıca bu genel bir düzeltme değildir. Bir sunucu tarafı düzeltmesi de Firefox için sorunu çözecektir. – chaitu301

+0

IIS'yi aşağıda belirtildiği gibi ayarlamayı denedim ama aynı zamanda işe yaramadı. http://webprojectsolution.blogspot.ca/2016/04/how-to-resolve-cors-issues-in-web-api.html – chaitu301

1

İlk yüklemek WebAPI CORS Nuget Paket:

sizin WebApiConfig.cs dosyada Sonra
Install-Package Microsoft.AspNet.WebApi.Cors 

:

public static class WebApiConfig 
{ 
    public static void Register(HttpConfiguration config) 
    { 
     var cors = new EnableCorsAttribute("*", "*", "*"); 
     config.EnableCors(cors); 

     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 

     //other code 
    } 
} 

Bu şekilde, CORS üstbilgisini küresel olarak herhangi bir etki alanından siteler arası isteklere izin verebilirsiniz. Yalnızca tek bir (veya listesi) etki alanından siteler arası istekleri izin vermek istiyorsanız, o zaman EnableCorsAttribute yapıcısı parametrelerini değiştirmek:

new EnableCorsAttribute("http://alloweddomain.com", "*", "*"); 

Ayrıca Kontrolör veya Eylem bazında EnableCorsAttribute başvurabilir. Resmi belgelere

fazla bilgi: http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

+0

Teşekkürler Federico, ama gördüğünüz gibi tüm seçenekleri denedim. Aps.net web api 2.2 kullanıyorum. IE'de iyi çalışıyor ancak Chrome ve Firefox'ta başarısız oluyor. Yükleyip kontrol edebileceğim örnek referans var mı? – chaitu301

+0

Sağladığınız bağlantıyı kontrol edeceğim ve bir şeyleri kaçırdığımı görüyorum. web.config'de CORS'yi etkinleştirilmesi – chaitu301

+0

Firefox & Chrome.http için sorunumu çözdü: //enable-cors.org/server_iis7.html – chaitu301

İlgili konular