我正在尝试从HTML小部件中调用Web服务跨域。这似乎不起作用。它在同一领域下运作良好。我正在尝试在Orchard中创建一个登录页面,可以用来登录我在另一个域上的软件。 Web服务正在验证用户凭据并返回一个布尔值,然后生成用户身份验证。
我读到我可以使用HTTP处理程序或其他Web服务(在Orchard方面)来调用其他域上的Web服务,但我对MVC或Orchard不熟悉这样做。如何将其中一个添加到我的Orchard Web应用程序中?
答案 0 :(得分:11)
客户端代码中的跨域调用在所有主流浏览器中都是禁忌。 你可以
Access-Control-Allow-Origin
标头设置为http://your-caller-domain.com
,以允许来自您网站域的请求WebClient
类在服务器端执行调用并将回复退还给您。选项从最佳到最差排序。大多数浏览器都支持CORS,IE8 / 9(通过XDomainRequest
部分支持)和更旧版本除外。虽然有这方面的解决方法。
请注意,前两个涉及网络服务方面的更改 - 如果您不能这样做,选项3是唯一剩下的。