我正在尝试调用WebAPI方法来获取一些数据,但是即使我在ConfigureConfigs方法中启用了CORS并在启动时在Configure方法中使用了该策略,它也会抛出Cross-Origin Read Blocking (CORB) blocked cross-origin response https://localhost:44332/api/Controller/Action with MIME type text/html.
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAll",
builder =>
{
builder
.WithOrigins("http://localhost:4200/")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
});
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
.....
app.UseCors("AllowAll");
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
原因可能是什么?
所以,基本上,正如CRice和johnny所评论的那样,Internal server error
作为CORS错误传播。
由于在应用程序中处理所有错误是一种很好的做法,因此即使在发生异常的情况下,这样做也可以确保500 Internal Server Error
完好无损,并且不会被屏蔽为CORS错误。
可以更好地理解here