Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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# 升级到.NET Core 2.2后的CORS问题_C#_Cors_Asp.net Core Webapi_Asp.net Core 2.2 - Fatal编程技术网

C# 升级到.NET Core 2.2后的CORS问题

C# 升级到.NET Core 2.2后的CORS问题,c#,cors,asp.net-core-webapi,asp.net-core-2.2,C#,Cors,Asp.net Core Webapi,Asp.net Core 2.2,我有一个.NETCore2.1应用程序,可以很好地处理CORS。但升级到2.2后,我遇到了以下问题: CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头 响应头:(这可能是IIS的问题吗?) 连接:关闭 内容长度:315 内容类型:text/html;字符集=美国ascii码 日期:2019年1月22日星期二15:08:26 GMT 服务器:Microsoft HTTPAPI/2.0 我尝试了这里能

我有一个.NETCore2.1应用程序,可以很好地处理CORS。但升级到2.2后,我遇到了以下问题:

CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头

响应头:(这可能是IIS的问题吗?)

连接:关闭

内容长度:315

内容类型:text/html;字符集=美国ascii码

日期:2019年1月22日星期二15:08:26 GMT

服务器:Microsoft HTTPAPI/2.0

我尝试了这里能找到的每一种组合(在MVC之前和之后启用CORS,从配置方法中添加和删除UseCOR),但都不起作用

 public IServiceProvider ConfigureServices(IServiceCollection services)
    {
       ...
        services.AddCors(options =>
        {
            options.AddPolicy("MyPolicy",
                builder => builder.WithOrigins("https://cabinet.xxxxxx")
                                  .AllowAnyMethod()
                                  .AllowCredentials()
                                  .AllowAnyHeader());
        });


        services.AddMvc();
        ...
    }

   public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseHsts();
        //app.UseHttpsRedirection();
        app.UseCors("MyPolicy");
        app.UseMvc();
        app.UseDefaultFiles();
        app.UseStaticFiles();
    }
方法是

    [HttpPost]
    [EnableCors("MyPolicy")]
    [Route("user/avatar")]
    [Authorize]
    public async Task Method(IFormFile file) {...}

我错过什么了吗?我不想降级回2.1。

显然IIS配置有问题。将网站移动到另一个端口有帮助。

屏幕截图解释了问题以及如何解决问题。CORS已启用,并抱怨试图访问第三方URL。标题上写着可以调用
内容……/user/avatar
的内容不见了。我不太明白。我试过“AllowAnyOrigin()”,但也没用。或者你的意思是我应该把呼叫改为“内容”服务器?我只做后端,我应该改变调用并添加特定的标题吗?顺便说一句,发布错误消息本身,而不是错误消息的图片。通过谷歌搜索标题名和
.net core
将返回相关答案。现在我必须手动键入它,只是为了搜索样本,而不是试图关闭CORS。你应该检查如何正确配置它。您正在寻找将
content…
URL放入该标题的方法。在我可以搜索样本之前,我仍然必须手动键入它。毫无疑问,这是ASP.NET Core 2.2的一个严重问题。工作环境在某些阶段工作,而在其他阶段不工作;部署中的大问题。噩梦