天天看點

ArcGIS API for Silverlight 調用WebService出現跨域通路報錯的解決方法

      群裡好幾個朋友都提到過這樣的問題,說他們在Silverlight中調用了WebService方法,總報這個錯誤,貼圖如下:

ArcGIS API for Silverlight 調用WebService出現跨域通路報錯的解決方法

解決辦法:

     1、确定你的Silverlight項目及承載Silverlight的Web程式根目錄下都包含2個跨域檔案,分别是crossdomain.xml和clientaccesspolicy.xml:

 crossdomain.xml檔案,如下:

clientaccesspolicy.xml檔案,如下:

    2、在Silverlight中添加Web服務引用的時候,不要使用VS自帶的類似http://localhost:90801/XXX/xxx.asmx位址,将承載Silverlight的Web程式部署到IIS中,然後添加Web服務引用,位址類似http://localhost/XXX/YYY/xxx.asmx,當然前提你的WebService要是正确的。接下來的一步很重要,打開引用完成後的服務引用配置檔案,如果服務位址在本地的話,請去掉位址中的應用程式名前面的符号,如下圖:

ArcGIS API for Silverlight 調用WebService出現跨域通路報錯的解決方法
ArcGIS API for Silverlight 調用WebService出現跨域通路報錯的解決方法

    通過以上步驟的處理後,調試運作程式将不會出現跨域錯誤提示了,寫出來,讓後來遇到此問題的人能少走彎路。

繼續閱讀