当我通过使用计算机名称的网址访问ASP.net自托管网络API 2时,我收到400错误请求错误。当我使用localhost时它工作正常。
我知道这可以通过更新applicationhost.config来解决IIS托管网站,但我如何在web-api 2中修复它?
答案 0 :(得分:0)
这里的问题是Web API认为您是从其他域访问它,默认情况下不允许这样做。
这称为Cross-origin resource sharing
(CORS
)。
Web API 2.2
可以通过提供CORS
轻松启用EnableCorsAttribute
。
基本用法
[EnableCors("*", "*", "*")]
public class ResourcesController : ApiController
{
...
属性定义
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = false)]
public EnableCorsAttribute(
string origins,
string headers,
string methods
)
您还需要从nuget
Install-Package Microsoft.AspNet.WebApi.Cors