最近我一直在尝试实现一个Web服务。我开始尝试在 C# 中使用"Web API"技术。
最终目标是拥有一个连接到 SQL-Server 数据库的 Web 服务,并且可以由位于不同域的其他站点调用。
Web 服务接受请求,连接到数据库并提供回 HTML(可以作为 JSON 对象中的字符串......等)。然后,客户端站点显示此 HTML,从用户获取输入,然后将此数据发送回 Web 服务以保存在数据库中。
当调用是跨域的时,"Web API"似乎存在问题。同源策略阻止我们调用跨域。我已经阅读了CORS的内容,但认为它与IE8不兼容,这对我们来说是一个很大的障碍。
我的大部分知识和我们所有的网站都是 ASP.net C#。
有人对如何实现这一目标有任何建议吗?
谢谢。
我没有使用Web API
,但要允许跨域调用Web服务,您可以尝试将其添加到web.config
文件中。它将允许HTTP GET/POST请求
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
示例请求:
$.ajax({
url: "http://yoururl",
type: "GET",
data: "yourdata",
dataType: "jsonp",
success: function (response) {
//do something;
}
});
我们已通过使用 WCF 服务解决了我们的问题。