我目前正在使用与第三方API交互的WebWorks为Blackberry开发HTML5移动网络应用。
不幸的是,由于跨域请求限制,我无法直接从移动应用程序使用API,所以我正在考虑开发一个与API交互并为Web应用程序提供服务的Web代理。
由于我从未做过这样的事情,我想得到一些建议,我将使用Microsoft技术(.NET)来达到我的目的。
我正在考虑一个WCF服务,它会向API发送所有请求,而移动客户端会连接到WCF服务以获取数据,但我认为无论如何我都会有相同的跨域请求限制,因此它可能不会工作
答案 0 :(得分:1)
首先,请与您的第三方API提供商核实是否支持CORS。如果他们这样做,您可以绕过相同的原始政策限制。假设他们不这样做,您可以使用ASP.NET Web API而不是WCF创建外观服务。 ASP.NET Web API旨在为更广泛的覆盖范围创建HTTP服务,并且不涉及SOAP。
在ASP.NET Web API中,您可以使用HttpClient进行HTTP调用,只需将请求传递给第三方API,然后将响应回显给您的应用。正如您所说的那样,相同的原始策略限制也适用于此案例,但您可以更好地控制服务器端。您可以在ASP.NET Web API中实现CORS,这样您的BB WW应用程序仍然可以调用您的Web API,尽管它们的来源不同。