使用ip地址访问主机时web api 2错误请求

时间:2014-12-03 13:26:34

标签: asp.net-web-api self-hosting

当我通过使用计算机名称的网址访问ASP.net自托管网络API 2时,我收到400错误请求错误。当我使用localhost时它工作正常。

我知道这可以通过更新applicationhost.config来解决IIS托管网站,但我如何在web-api 2中修复它?

1 个答案:

答案 0 :(得分:0)

这里的问题是Web API认为您是从其他域访问它,默认情况下不允许这样做。

这称为Cross-origin resource sharingCORS)。

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

安装CORS包
Install-Package Microsoft.AspNet.WebApi.Cors