我正在尝试将我的 api 服务(用 web api 编写)移至 azure。 我打开了一个网站并将其移至那里。 在 Web api 中,我有以下属性:
[EnableCors(origins: "*", headers: "*", methods: "*")]
在旧网站(不是 azure )上,所有请求都会返回数据,无论我尝试从哪个域获取数据。
将 Web api 移至 Azure 中的新网站后,我开始收到下一个错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource
当 Web API 位于旧网站上时,它可以工作(来自本地主机和其他类型的源)。
Azure 门户中需要进行任何配置吗?或者也许更改 web.config?
谢谢
最佳答案
我和我的团队创建了一个演示,演示如何使用需要启用 CORS 的 AngularJS 前端构建 Web API。这是source code
此示例中需要注意的一些事项:
- 使用 Microsoft.AspNet.WebApi.Cors NuGet 包
- 在 App_Start 文件夹中的 WebApiConfig.cs 中启用 CORS
- Web.config:删除处理程序:OPTIONSVerbHandler、TRACEVerbHandler、WebDAV
- Web.config:删除模块:WebDAVModule
关于Azure 请求的资源上不存在 'Access-Control-Allow-Origin' header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30604363/