php 调用wcf restful,关于rest:从网站客户端脚本进行WCF RESTful服务跨域访问

我正在使用VS 2010 IDE进行WCF RESTful服务,在研究过程中,我们得知该API将部署在该站点托管的同一域中,例如。

API托管:www.site.com/API/services.svc(其中API是虚拟文件夹)

网站托管:www.site.com

由于我们的网站将使用计划在相同域中部署的客户端Ajax使用相同的API,因此不会出现跨域/原始访问问题。

但是,后来发生了变化,iPad,iPhone和Smart TV Apps将使用相同的API,因为我们计划将API的流量巨大,因此我们计划将API部署在名为www.api.com的单独域中/services.svc对于所有设备应用程序都反应良好,但是,由于它是从客户端进行的跨域访问,因此我们在网站中存在问题。搜索后,通过在Global.asax文件Application_BeginRequest()中实现以下代码,我在以下API中找到了打破该跨域策略的代码,它在Chrome,Firefox和Safari浏览器中的响应良好,但在I.E中却没有

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin","*");

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS");

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers","x-requested-with");

if (HttpContext.Current.Request.HttpMethod.ToUpper() =="OPTIONS")

{

HttpContext.Current.Response.AddHeader("X-DR-Request-Terminated-By","CrossDomainXhr-OPTIONS");

HttpContext.Current.Response.AddHeader("Access-Control-Max-Age","1728000");

HttpContext.Current.Response.End();

}

请帮我解决这个问题...

提前致谢...

沙沙语

据我所知,IE不允许在

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin","*");

尝试指定域。 您也可以在这里参考:

IE中的访问控制源

非常感谢您的回答,它非常有帮助,请指导我,如何允许对多个域使用Access-Control-Allow-Origin,我尝试使用(,)来分隔域,但它不起作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值