【发布时间】:2018-01-01 15:09:59
【问题描述】:
我创建了一个由 Angular2 (IONIC) 应用程序使用的 ASP.NET Core 1.1 Web API。在项目开始时,我们遇到了 CORS 错误,在对 Web API 进行一些修改后,我们能够解决。今天早上,我用过去一周所做的一些更改更新了我们的实时 Web API,由于某种原因,我们再次收到 CORS 错误(当 Angular 应用程序使用实时 Web API 时——它在我们连接到Web API 从 LAN 上的另一台 PC 在我的本地主机上运行)。错误是:
XMLHttpRequest 无法加载 http://inspections.propworx.co.za/api/inspections。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问 Origin 'http://192.168.1.100:8100'。
我的 Web API Startup.cs 中有以下内容:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("SiteCorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
...
}
还有这个:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseCors("SiteCorsPolicy");
...
}
在这两种情况下,它们分别位于 services.AddMvc() 和 app.UseMvc 之前。但它仍然不起作用。我已经尝试添加
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new CorsAuthorizationFilterFactory("SiteCorsPolicy"));
});
在 ConfigureServices 中,就在 services.AddCors 之后,无济于事。 我已经尝试添加:
[EnableCors("SiteCorsPolicy")]
到我的控制器顶部,但也没有帮助。
这行得通,我不知道我能做什么,但现在不行了:/ 有什么想法吗?谢谢...
【问题讨论】:
-
您好 user1900799,我有一个问题想知道在创建使用 WebApi 服务的 ionic 应用程序时,我应该将 Ionic 项目与 Web Api 项目放在同一个文件夹中,还是两个项目分开? ?
标签: cors asp.net-core-mvc asp.net-core-webapi asp.net-core-1.1