无法访问MVC 6 API
问题描述:
我目前正在创建一个包含一些API的MVC 6项目(beta 8)。除此之外,还有一个与这些API交流的附带Word应用程序(目前只是GET方法),但是,所有ajax从Word应用程序获取JSON请求都会导致“错误:访问被拒绝”。信息。无法访问MVC 6 API
一番搜索后,我认为这可能是一个CORS的问题,所以我在startup.cs通过添加启用此以下为ConfigureServices:
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins", builder => builder.AllowAnyOrigin());
});
然后
app.UseCors("AllowAllOrigins");
成配置,但这没有什么区别,我仍然只是收到访问被拒绝的消息。我已经尝试调整我的CORS选项,允许所有方法和尝试了各种其他选项,包括添加
[EnableCors("AllowAllOrigins")]
上的动作
,但同样它没有什么区别。
我在本地运行这两个项目,并通过浏览器手动导航到api,返回结果没有问题,就像我的swashbuckler安装程序一样。
我在这里错过了一些明显的东西吗?
答
根据我的经验,有些浏览器在通过SSL连接时(这是使用AllowAllOrigins时得到的)不允许通配符响应允许来源。如果您需要流量通过SSL,则需要使用允许的来源列表而不是通配符进行回复。
This answer有一个很好的方法。
可能已经解决了这个问题。我的MVC应用程序以HTTP身份运行,但VS2015中的默认Office应用程序项目是在启用SSL的情况下创建的。现在办公室应用程序中的SSL转向允许我连接而不会出现问题。 –