010 - 62328579
010 - 62315119
wanglianpeng@aic-tech.com
作者:admin     发布时间:2016-02-01    
图1
如图1所示,DataService和Silverlight站点同属AicTech.PPA.WebServer项目,因此不存在跨域的问题。而当这两项分开时,如图2所示。
图2
此时Silverlight的启动站点和DataService不在同一个项目中,就会存在跨域的问题。解决跨域的问题有两个,避免发生跨域以及在服务端进行配置以允许跨域。
首先介绍避免跨域的方法:
在Silverlight启动过程中会先打开Silverlight的启动站点,随后根据代码找到DataService的站点。这就要求这两个站点必须是在IIS的同一个网站下。下图中图3是DataService的站点配置。图4是Silverlight的启动站点的配置。
图3
图4
最后在IIS中查看,如图5.
图5
这里不能使用IISExpress,这是因为IISExpress会自动生成端口,不同端口对应网页不同,使得跨域问题依然存在。只要保证在Silverlight中使用同一个网页,就不会存在跨域问题了。
在服务端进行配置以允许跨域:
在DataService的项目中加入如下两个文件,就可以使客户端进行跨域访问。