Asp.net WebApi-CORS策略
我有Asp.net web api项目作为后端 并将js作为前端 我试图通过React发出api请求,以便使用我在后端创建的api端点从数据库获取数据或将数据发布到数据库 第一次GET和POST请求都出现CORS错误, 然后我把它添加到我的Web.config文件中Asp.net WebApi-CORS策略,asp.net,asp.net-mvc,asp.net-web-api,cors,Asp.net,Asp.net Mvc,Asp.net Web Api,Cors,我有Asp.net web api项目作为后端 并将js作为前端 我试图通过React发出api请求,以便使用我在后端创建的api端点从数据库获取数据或将数据发布到数据库 第一次GET和POST请求都出现CORS错误, 然后我把它添加到我的Web.config文件中 <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Content-Type, Accept, Pragma, Cache-Control, Authorization " />
</customHeaders>
</httpProtocol>
</system.webServer>
职位
[HttpPost]
公共IHttpActionResult帖子(列表行)
{
尝试
{
使用(DbModel DbModel=new DbModel())
{
dbModel.Provider\u status.AddRange(行);
dbModel.SaveChanges();
}
}
捕获{}
返回Ok(“创建的记录”);
}
安装Cors软件包
来源:我可以设置来源:“*”?[EnableCors(来源:”,标题:“,方法:”]我将此添加到我的控制器,现在GET和POST不起作用,我收到以下错误消息:“访问控制允许来源”标题包含多个值“,*”,但只允许一个。您可以将全局策略添加到web配置中,如://global Policies EnableCorsAttribute cors=new EnableCorsAttribute(“,”,“GET,POST,UPDATE”);配置使能cors(cors);或//为特定控制器config.EnableCors()启用CORS;[EnableCorsaAttribute(“,”,“*”)我在这里找到了解决方案我在这里找到了解决方案
public IHttpActionResult Get(string password)
{
if (password == "000")
{
using (DbModel dbModel = new DbModel())
{
return Ok(dbModel.Provider_status.ToList());
}
}
else
{
return null;
}
}
[HttpPost]
public IHttpActionResult Post(List<Provider_status> rows)
{
try
{
using (DbModel dbModel = new DbModel())
{
dbModel.Provider_status.AddRange(rows);
dbModel.SaveChanges();
}
}
catch { }
return Ok("record created");
}
{
public static void Register(HttpConfiguration config)
{
// New code
config.EnableCors();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
[EnableCors(origins: "http://mywebclient.azurewebsites.net", headers: "*", methods: "*")]
public class TestController : ApiController