C# 升级到.NET Core 2.2后的CORS问题
我有一个.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),但都不起作用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 我尝试了这里能
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的一个严重问题。工作环境在某些阶段工作,而在其他阶段不工作;部署中的大问题。噩梦