Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修复ASP.NET C中的CORS错误:MethodDisallowedByPreflightResponse# 问题_C#_.net_Asp.net Core_Cors_Preflight - Fatal编程技术网

C# 如何修复ASP.NET C中的CORS错误:MethodDisallowedByPreflightResponse# 问题

C# 如何修复ASP.NET C中的CORS错误:MethodDisallowedByPreflightResponse# 问题,c#,.net,asp.net-core,cors,preflight,C#,.net,Asp.net Core,Cors,Preflight,将http请求发送到ASP.NET核心API服务器(尽管我相信这将适用于各种不同的.NET样式的服务器)时,我收到CORS错误:MethodDisallowedByPreflightResponse。我特别是在PUT请求中遇到此错误(POST或GET请求中不会出现此错误) 我尝试的是: 谷歌搜索,没有其他人写过这个具体的错误 DevTools网络选项卡(即检查实际Http请求头和内容)。。。飞行前的请求/响应中似乎没有任何东西表明哪些方法是允许的,哪些是不允许的 我的答案: 查看我的服务器的C

将http请求发送到ASP.NET核心API服务器(尽管我相信这将适用于各种不同的.NET样式的服务器)时,我收到CORS错误:
MethodDisallowedByPreflightResponse
。我特别是在PUT请求中遇到此错误(POST或GET请求中不会出现此错误)

我尝试的是:
  • 谷歌搜索,没有其他人写过这个具体的错误
  • DevTools网络选项卡(即检查实际Http请求头和内容)。。。飞行前的请求/响应中似乎没有任何东西表明哪些方法是允许的,哪些是不允许的
我的答案: 查看我的服务器的CORS设置,我意识到CORS中间件上的
.AllowAnyHeader()
方法可能表明存在允许任何方法的类似方法。我是对的

使用
.AllowAnyMethod()
修复此错误(假设您确实希望允许任何http方法类型)。

这里是您在服务器上专门安装的地方(我使用的是ASP.NET核心API,我相信是第5版):


我不知道为什么会被否决。答案帮我解决了同样的问题,谢谢!
//Startup.cs

//.... in the "Startup" class "ConfigureServices" method....
public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddDefaultPolicy(
                    builder =>
                    {
                        builder.WithOrigins("https://example.com")
                            .AllowAnyHeader()
                            .AllowAnyMethod(); //THIS LINE RIGHT HERE IS WHAT YOU NEED
                    });
            });

// ... the rest of your code, other middleware, etc.