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

Asp.net web api 使用ip地址访问主机时web api 2错误请求,asp.net-web-api,self-hosting,Asp.net Web Api,Self Hosting,当我通过使用计算机名的url访问ASP.net自托管web api 2时,收到400错误请求错误。当我使用localhost时,它工作得很好 我知道,通过更新applicationhost.config,IIS托管站点可以解决这一问题,但如何在web api 2中修复它?这里的问题是web api认为您是从不同的域访问它,这在默认情况下是不允许的 这被称为跨源资源共享(CORS) webapi 2.2通过提供EnableCorsAttribute使启用CORS变得容易 基本用法 [EnableC

当我通过使用计算机名的url访问ASP.net自托管web api 2时,收到400错误请求错误。当我使用localhost时,它工作得很好


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

这里的问题是web api认为您是从不同的域访问它,这在默认情况下是不允许的

这被称为
跨源资源共享
CORS

webapi 2.2
通过提供
EnableCorsAttribute
使启用
CORS
变得容易

基本用法

[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

但如果是这种情况,错误应该与CORS有关,请求的资源上不存在“Access Control Allow Origin”头。或类似的内容,而不是
无效主机