Asp.net Cross-Origin Hatası

Temel olarak cross-origin hatası farklı domainde olan yani başka bir sitedeki bir servise talep yaptığınızda oluşur. Bunun taleplerin çeşitli varyasyonları var. Benim karşılaştığın sorun ise ajax tarafında direkt olarak “http://www.asd.com/DataServis” gibi bir servise ulaşmaya çalıştığında oldu. Çeşitli yöntemler denedim internetten bakarak cross-domain izin vermek için web.config ayarları xml dosyası ekleme ama nafile hiç biri olmadı. O sırada iş arkadaşımın bir tavsiyesi ile sorunu çözdük. O da nedir? tabiki server-side nimeti olan WebRequest. Aspx sayfanızın arkasına bir WebRequest yazarak diğer siteye bu şekilde işlem yaparsanız iş tıkır tıkır oluyor. Ben ihtiyacım doğrultusunda json yollayıp json aldım, sizde gönderecek datanoz varsa “PostData” kısmına mesela “{ClientID : 1 }” gibi yollayıp işlem yapabilirsiniz yada kullanmazsanız silebilirsiniz direk. Sonrada bunu ajax post ile aspx client-side tarafında yakalarsınız.

Örnek bir WebRequest