gpt4 book ai didi

breeze - 将 Breeze 与来自另一个域的 Web Api 服务结合使用

转载 作者:行者123 更新时间:2023-12-04 16:47:19 24 4
gpt4 key购买 nike

如何轻松使用现有的 webapi 服务?请注意,我的 webapi 服务位于“server1/api”,而 Web 应用程序位于“server2”。我尝试更改数据服务中的服务名称,但收到 XMLHttpRequest 异常 101。这是跨域错误。是否可以将 Breeze 与来自另一个域的 webapi 服务一起使用?

最佳答案

跨源 Breeze 应用程序

是的,可以从一台服务器获取 Breeze 客户端应用程序,并让该 Breeze 应用程序与托管在不同服务器上的数据服务进行通信。

Breeze 客户端应用程序在 CORS-supportive 上运行良好为 CORS 配置服务时的浏览器。

跨域问题和 CORS 解决方案属于更一般的 Web 安全问题类别。它们不是 Breeze 特有的。我们计划在 "Cool Breezes" 中发布关于 CORS + Breeze 的主题Breeze 网站的部分。

更新:2013 年 12 月 10 日

此示例使用原始 CORS 实现,如果您已升级到 Web API2,我们将不再推荐该实现。请阅读这篇优秀文章"CORS Support in ASP.NET Web API 2"它解释了基本的 CORS 以及如何使用 Web API2 CORS 支持。

这个答案的其余部分保持原样。

带有 CORS 的 Todo 示例

在此之前,请查看 Todo Sample 的代码.该示例的服务器是为 CORS 设置的,已部署到 todo.breezejs.com,您可以通过查看 Breeze Todo Sample topic page 底部的 jsFiddle 来查看它的运行情况。 .

四个兴趣点:

  • App_Start/ BreezeSimpleCorsHandler.cs 工作
  • App_Start/ BreezeWebApiConfig.cs 打开它

  • //在此服务器上启用 CORS
    GlobalConfiguration.Configuration.MessageHandlers.Add(new BreezeSimpleCorsHandler());
  • A Web.config IIS7 需要的行(IIS8 或 VS2012 的 IIS Express 不需要)

  • 脚本/应用程序/ dataservice.js 已准备好指向外部服务器;看到这一行:

    // * 跨源服务示例 *
    //var serviceName = ' http://todo.breezejs.com/api/todos ';//不同来源的 Controller

  • 希望这能让你暂时渡过难关。

    关于breeze - 将 Breeze 与来自另一个域的 Web Api 服务结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14629027/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com