如何轻松使用现有的webapi服务?请注意,我的webapi服务位于“server1 / api”,Web应用程序位于“server2”。我尝试更改dataservice中的服务名称,但获取XMLHttpRequest异常101.这是一个跨域错误。是否可以使用来自其他域的webapi服务的breeze?
是的,可以从一台服务器获取Breeze客户端应用程序,并让Breeze应用程序与托管在不同服务器上的数据服务进行通信。
当为CORS配置服务时,Breeze客户端应用程序在CORS-supportive浏览器上运行得非常好。
跨域问题和CORS解决方案属于更常见的Web安全问题类别。它们不是Breeze特有的。我们计划在Breeze网站的"Cool Breezes"部分发布关于CORS + Breeze的主题。
此示例使用原始CORS实现,如果已升级到Web API2,我们不再推荐这种实现。请阅读这篇优秀的文章"CORS Support in ASP.NET Web API 2",它解释了基本的CORS以及如何使用Web API2 CORS支持。
这个答案的其余部分仍然是最初写的。
在那之前,看一下Todo Sample的代码。该示例的服务器是为CORS设置的,已部署到todo.breezejs.com,您可以通过查看Breeze Todo Sample topic page底部的jsFiddle来查看它。
四个兴趣点:
// CORS enabled on this server GlobalConfiguration.Configuration.MessageHandlers.Add(new BreezeSimpleCorsHandler());
希望你现在能够嘲笑你。