gpt4 book ai didi

asp.net-mvc-4 - 托管在 IIS 上另一个端口上的 Web Api 无法访问

转载 作者:行者123 更新时间:2023-12-02 00:05:46 26 4
gpt4 key购买 nike

我有两个独立的项目

  1. MVC 网络应用
  2. MVC 网络 API我已经在我的 IIS 7.5 上发布了这两个

我的 Web 应用程序托管在 7172 端口Web API托管在7171端口

奇怪的是,我无法从我的网络应用程序 (7172) 调用 jquery.ajax() 到网络 API (7171) 端口。它给我 405 方法未找到错误代码。

但如果我在我的 web api 项目 (7171) 中编写相同的 jquery.ajax() 并调用 web api 方法,那么它可以正常工作并返回数据。

我想从我的网络应用调用网络 API。

如有任何建议,我们将不胜感激。

提前致谢。

最佳答案

这与 Same Origin Policy 有关.默认情况下,您不能对另一个域执行 AJAX 调用(包括名称、端口和协议(protocol))。

如果你想启用它你应该使用Cross-origin resource sharing (CORS) . CORS 可以通过安装(预发布)NuGet 包与 Web API 一起使用:Microsoft ASP.NET Web API Cross-Origin Support

此包允许您配置哪些域可以调用您的服务。你可以在这里找到一个步行槽Enabling Cross-Origin Requests in ASP.NET Web API .从本质上讲,它归结为向您的 Controller 添加属性,如下所示:

 [EnableCors(origins: "http://myclient.azurewebsites.net", headers: "*", methods: "*")]

关于asp.net-mvc-4 - 托管在 IIS 上另一个端口上的 Web Api 无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18490830/

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