gpt4 book ai didi

mysql - 使用实体和 WebAPI 2 的 ASP.NET 上没有 'Access-Control-Allow-Origin' 错误

转载 作者:行者123 更新时间:2023-11-29 11:52:03 25 4
gpt4 key购买 nike

我知道已经有一些这样的帖子,但我已经浏览了所有我发现的内容并尝试了他们的解决方案,但没有成功,我现在有点绝望了。这需要在明天结束之前完成。
我正在构建一个网站,该网站在后端使用 MySQL 数据库和 Entity Framework 上的 Web API 2,然后在前端使用 js/jax,所有这些都托管在 Azure 上。
我正在制作更多 HTML 页面,与任何配置文件无关,然后我随机开始收到此错误。

XMLHttpRequest cannot load https://uocfabianwiles.azurewebsites.net/api/Courses. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:56401' is therefore not allowed access. The response had HTTP status code 500.

我使用下面的代码来启用 CORS

var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);

通过 Swagger 的 https 请求除了错误之外都没有给我返回任何内容,但今天早上它们工作正常。

我尝试过的:
将其添加到 Controller 中,按照 http://enable-cors.org/server_aspnet.html

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

将自定义 header 添加到 web.config 文件
更改数据库
重新安装 Entity 和 MySQL Nuget 软件包
在 Visual Studio 中本地运行并进行调试 - VS 没有错误

编辑:我尝试删除数据库/网站并创建新的数据库/网站,以某种方式解决了 CORS 错误,但现在却给我一个 500 内部服务器错误,但可能只有 70% 的时间,其他 30% 的时间会加载很好,没有问题

最佳答案

我曾经遇到过这个错误,但我使用下面的代码解决了它。

using Microsoft.Owin;
using Microsoft.Owin.Cors;
using Owin;

[assembly: OwinStartup(typeof(MyProject.Api.Startup))]
namespace MyProject.Api {
public class Startup {
public void Configuration(IAppBuilder app) {
app.UseCors(CorsOptions.AllowAll);
}
}
}

希望它能起作用。如果没有,请尝试在 WebApiConfig 中使用 config.EnableCors(); (不带属性)。

示例:

 public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
config.EnableCors();

// Web API routes
config.MapHttpAttributeRoutes();

config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}

希望有帮助。

关于mysql - 使用实体和 WebAPI 2 的 ASP.NET 上没有 'Access-Control-Allow-Origin' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33906937/

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