我有一个.NET Core 2.1应用程序,可以很好地处理CORS。但是升级到2.2后,我遇到了问题:
从原点“ https://content.xxxx/user/avatar”到“ https://cabinet.xxxx”处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-来源的标头出现在请求的资源上。
响应标题:(这可能是IIS的问题吗?)
连接:关闭
内容长度:315
Content-Type:文本/ html; charset = us-ascii
日期:周二,2019年1月22日15:08:26 GMT
服务器:Microsoft-HTTPAPI / 2.0
我尝试了在这里可以找到的每种组合(在MVC之前和之后启用CORS,从Configure方法中添加和删除UseCors),但是没有任何效果。
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。
答案 0 :(得分:0)
显然,IIS配置存在问题。将网站移至另一个端口有帮助。